D4r*_*4n3 7 c++ windows deployment qt qt5
我用Qt5.3.1编写了一个程序,并在我的开发机器上运行它可以正常工作.我将所有必需的.dll文件复制到我的.exe所在的文件夹中.这些是:
现在我想在没有安装Qt的机器上运行该程序.我怎么做?用户不必为了使用程序而安装IDE,对吗?
开发机器的工作原理:
部署平台是:
我得到的错误是第一个:
此应用程序无法启动,因为它无法找到或加载Qt平台插件"windows".重新安装应用程序可能会解决此问题.
下一条错误消息是:
此应用程序请求运行时以不寻常的方式终止.请联系支持.
然后程序崩溃了. 但是如果我安装Qt5.3.1就可以了.所以它是与文件的c:/Qt目录
小智 8
This application failed to start because it could not find or load the Qt platform plugin "windows".
对于此问题,您应该将插件复制{QTSDK}/plugins/platforms/qwindows.dll到{YOUR_EXE_DIR}/platforms/qwindows.dll.
简短的回答是您需要进行静态构建,或者需要重新分发Qt共享库DLL.如果您正在寻找较小的文件大小,静态构建通常会更好,但如果您在LGPL许可下使用Qt5,则可能会对此方法产生法律影响.我不是律师,但您可以阅读LGPL第4.1节中有关LGPL链接规则的内容.
答案很长,您应该阅读常规Qt5部署指南和Qt5 for Windows部署指南.这些涉及到相当多的细节.
更好的解决方案是使用 Qt SDK 应用程序“windeployqt”。它用于根据目标平台将所有必需的 dll 和插件复制到您的应用程序文件夹中。然后您可以在另一台计算机上运行它。这是文档: https: //doc.qt.io/Qt-5/windows-deployment.html。
例如,如果您的可执行文件是使用 mingw53_32 构建的,并且您的可执行文件位于“C:\example_qtapp”中:
QT_INSTALL_DIR\minqw53_32\bin\windeployqt.exe c:\example_qtapp
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8107 次 |
| 最近记录: |