Qt编译生成的exe文件运行时可能会提示缺少库文件而不能正常运行,此时需要将程序进行打包发布。本文将详细描述打包发布应用程序过程。
打包发布应用程序
Qt以Release的方式编译Qt程序;
编译完成后,新建一个文件夹(我这里新建文件夹名为exe);
将build-xxxxxxxxxx-Desktop_Qt_5_9_1_MinGW_32bit-Release\release下的exe文件复制粘贴到新建的exe文件夹中;
win10下,找到Qt 5.9.1 for Desktop,单击打开;
输入“cd exe程序的所在的文件夹路径”,按下回车,进入exe程序的所在文件夹;
输入“windeployqt 程序名”,按下回车,将所需的库文件全都拷贝到exe程序的所在文件夹中。
等待完成之后,回到exe程序的所在文件夹,可以看到已经自动地将所需的库文件全都拷贝到当前文件夹中;
此时双击运行exe文件可能仍然会提示缺少dll库;
找到Qt下mingw53_32中的bin文件(我这里为C:\Qt\Qt5.9.1\5.9.1\mingw53_32\bin),找到缺少的dll库,复制粘贴到当前文件夹下,exe文件就可以正常运行了。
写在最后
在我以Release方式编译运行我的工程时,出现了这样的错误,编译能通过,运行却报错:
经网上查询,报错原因为:Release和Debug动态库调用混乱,想起该工程有使用到Qwt控件,于是对pro文件进行修改,将Debug方式下调用动态库语句注释掉:
修改后,重新构建工程,程序就可以正常运行了。