折腾了好几天总算把QT程序打包成功了


  • ACG

    和MSVC不同,QT框架编译出来的程序默认是动态编译,直接运行会提示缺少dll。
    当然这个很简单,把dll复制过去就能解决,而且qt为懒人提供了windeployqt

    windeployqt ./helloQT.exe
    

    一键复制dll到当前目录

    但是,事情并没有那么简单!
    此时双击exe运行,会提示无法定位程序输入点,于是我开始了真正的折腾之旅。

    首先是按照某些博客上的说法,把QT添加进环境变量,然后按照上述方法打包,结果依然报错。
    之后,按照另一些博客上的说法,把QT的环境变量提前,以免其他目录中同名程序产生冲突,卸载多余版本的QT以免冲突,结果依然报错。

    最终,发现QT自带一个QT commandline...(自己写的helloworld就没必要上64位了,32位还能节省点空间)
    7f216fef-188e-49c1-b301-945925c7d7a8-image.png

    然后我打开了QT命令行

    cd /d [Project DIR]\release\
    windeployqt .\helloQT.exe
    

    然后就成功了...功了...了...
    1de31d8a-9821-41e8-9fd8-e12d2f43ddbc-image.png

    顺便吐槽下QT的库真多,一想到需要分发给那些电脑都不会用的白痴就觉得头疼,他们怕是连二进制文件都找不到



  • @Bruce 学QT干什么?做塞班系统应用?


  • ACG

    @单身狗保护协会会长 Qt跨平台,可以很方便的开发各种平台的应用,而且Qt框架非常好用,包括图形界面、网络通讯、文件读写、数据库等组件,可以大幅降低C++开发难度。Qt即使不做GUI,用来做命令行程序也很好用。


Log in to reply