诊断问题的步骤
研究了一个多月
构建QT静态库
使用多个编译器、MinGW、WinMake 等编译 .exe
多版本QT5编译.exe
Back 设计项目以使用 5.0.0 版本
在 Manjaro 上编译了与 Linux 可执行文件相同的 Github 项目,它运行良好
你好
我们正在 Windows 上构建一个 GitHub 项目来编译一个 .exe 并遇到一个奇怪的问题,在冷启动时执行时间超过 4 秒,第二次启动 .exe 程序立即加载。
研究这个已经一个多月了,一些论坛说要构建 QT 静态库以加快执行速度,但这导致启动时间减少了 0.5 秒,所以它仍然需要 3.5+ 秒来加载。
所以我们最初用 Cmake 编译 GitHub 项目来创建一个 Visual Studio 解决方案文件,我的理论是 Visual Studio 是这里的问题,但它不是因为我用多个编译器编译了 .exe,MinGW,WinMake 等,仍然同样的问题。
还用多个版本的 QT5 编译了 .exe,我什至对项目进行了反向工程以使用 5.0.0 版本,仍然是同样的问题。
我还在 Manjaro 上编译了相同的 Github 项目作为 Linux 可执行文件,它工作正常,没有任何问题。
在 Windows 上编译时还有其他问题,例如当您打开程序时,窗口向下移动屏幕标题栏的高度并向右移动窗口框架的宽度,但在 Linux 构建中不会发生这种情况.
请帮忙,感谢阅读,希望尽快发言。
编译后的 .exe 不会自动加载,没有分配的 Windows 服务,没有分配的任务计划程序条目,不需要安装,这是一个可移植的可执行文件。为了启动程序,您需要手动执行 .exe,在这一步之后您可以关闭程序,然后您可以关闭电源(冷启动)或重新启动设备并启动至 Windows。然后手动执行 .exe,你会看到加载主 GUI 需要 4 秒以上,在这一步之后你可以关闭程序,然后再次执行 .exe,你会看到 GUI 立即加载。
• Windows 上的 QT5 C++ exe 构建在冷启动后需要 4 秒以上才能启动
• 在启用了 WSL2 的 HyperV 的 Windows 上运行 Minikube
• 尝试获取命名 Windows 事件的句柄时 win32event.OpenEvent 出错
• 在 Linux 中使用 HSM 中的密钥对 Authenticode PE 文件进行代码签名
• 如何在 Ubuntu Linux 上将可启动 Windows 转为 USB?
• 如果手动停止,如何在 5 秒内自动重启 Windows 服务?
• 在 Windows 上从源代码构建程序启动后,Libtorch 立即崩溃
• 如何在 Windows 上下载和安装 SQLite? [关闭]
• 在 Windows 共享驱动器上以写模式打开 fstream 失败的可能根本原因
• 如何在 Powershell 上禁用个人和系统配置文件加载时间消息
• 如何在 Win 安装结束时以管理员身份启动自定义的 exe 文件
• 使用 powershell 脚本在部署组 Windows 服务器中使用 azure 发布管道启动 .exe 文件