我制作Windows应用程序。当我在QT安装的本地计算机上运行它时 - 一切正常。
但是当我在另一台W10 PC或W28R2服务器上运行时,我会发现错误。
此应用程序无法启动,因为它无法找到或加载 Qt平台插件" Windows"可用的平台插件是:" windows"
我阅读了有关此内容的所有主题,但没有找到解决方案。
我失败的步骤
有趣的是,当我重命名" MYPATH \ Qt \ 5.6 \ msvc2015_64 \ plugins \ platforms "目录来自" 平台"到" platformsX ",我本地计算机上的应用程序也开始崩溃。
它看起来像一个填充不良的全局变量,但对我来说没有任何作用。
此标记被标记为重复,其中" Qt5静态构建产量无法加载平台插件" windows""。 但是这里缺少windeployqt.exe myapp.exe --dir myapp_deps 我写了那个帖子并应用了所有的建议,但仍然遇到了同样的问题。
答案 0 :(得分:3)
默认情况下,Qt在应用程序目录中查找其插件,但您也必须保留插件子目录。
在您的情况下,只需将qwindows.dll
复制到myapp\platforms
目录中,这样您的应用就可以找到该插件。
更好的是,使用与Qt安装捆绑在一起的windeployqt.exe应用程序,它将复制所有必需的Qt库和插件。
例如,我将以下内容用作部署脚本的一部分:
windeployqt.exe myapp.exe --dir myapp_deps
这会将所有必需的Qt库,插件和VC ++可再发行组件(如果已正确配置VCINSTALLDIR / VSINSTALLDIR env)复制到myapp_deps目录。 (注意:如果省略--dir
参数,则该命令会将所有依赖项复制到myapp.exe所在的当前目录。
在此之后,如果你将myapp.exe放入myapp_deps并将文件夹重新定位到没有安装Qt的另一台PC,那么myapp.exe将会运行。