进步始于交流
收获源于分享

坑记-Qt使用windeployqt错误

介绍

Qt在非静态编译时,发布需要提供较多的附带库文件及一些翻译文件,可以使用windeployqt XXX.exe方式快速生成,其中windeployqt在D:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin\windeployqt,具体根据自身版本信息更改路径即可。可以建立cmd文件,实现快速打包。

D:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin\windeployqt test.exe
pause

提示path不存在

请注意,如果使用上面的代码,建立cmd 文件以后,双击打开即可,不要使用管理员身份打开。若使用管理员身份打开,则默认的cmd起始路径不再是cmd文件的路径,而是“C:\WINDOWS\system32>”此时在system32中肯定找不到test.exe,若想要以管理员你打开需要将“test.exe”改为绝对路径。

提示Unable to find the platform plugin

优先查看系统环境变量,是否有冲突的地方,比如Anaconda其中就包含了PyQt,windeployqt会先根据path中由Anaconda创建的路径去寻找,找到具有qt-bin的库后就会使用,此时可能找到的是PyQt路径,将会出现错误。

解决方案:先将path中的路径改一下比如前面加个“1”,然后运行windeployqt,再改回原始路径。

对于Anaconda冲突只需要修改形如“C:\ProgramData\Anaconda3\Library\bin”路径即可,一定要先全部确定后再运行windeployqt(没记错确定要点3次)

问题发现过程:
Unable to find the platform plugin这个错误的提示是由windeployqt打包release文件时提示的,具体内容,并无更多的详细提示,后尝试打包debug文件,得到了形如XX/anaconda/qt/bin/XXX.dll无法找到的错误提示,明白了是anaconda建立的path导致的错误,修改后无误。

MinGW下找不到g++.exe

在环境变量path中添加形如“D:\Qt\Qt5.10.0\Tools\mingw530_32\bin”的路径即可,还是先全部确定以后再运行windeployqt。(没记错确定要点3次)

赞(2) 打赏
未经允许不得转载:Coologic » 坑记-Qt使用windeployqt错误

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    微信扫一扫打赏