引言
生成的可执行文件exe后,想在没有安装qtCreate编译器的电脑上用,这里可以使用qt自带的打包工具来添加所需的库到运行程序所在的目录。
步骤
- 将生成的exe文件拷贝到一个空文件夹下,若程序使用过程中用到其他项目成员的库文件,或者配置文件,都一并拷贝进去;
- 打开电脑开始菜单,找到qt的文件夹,进去后找到你所需的编译器对应的程序。如下图步骤:
点击展开文件夹Qt5.13.2;
因为我的编译器使用的是MSVC2017 64-bit,所以选用的是上图所示的,选中后,双击打开;
打开后,进入到之前存放可执行程序exe的目录,然后输入指令windeployqt xxxx.exe,然后回车,程序就会自动在之前存放可执行程序exe的目录下生成该exe程序运行所需要的动态库,待结束后,进入刚才存放可执行程序的目录,会看到许多生成的库,此时,双击xxx.exe程序,就可以启动程序了。
3.将该程序所在的文件夹压缩后,反送到任何一个没有安装qtCreate编译器的电脑上,解压后,进入文件夹双击可执行程序就能正常运行。
备注:
如果程序调用了其它外部库,这时一定要根据程序的版本是debug还是release进行区分调用,否则,当库调用与版本不一致的时候,即使程序能运行,打包之后还是无法使用。之前由于程序调用外部库,我外部库是debug版的,我把程序编译成release版来使用debug版的库,在Qtcreate中使用没有问题,但是打包后,程序无法运行,弄了好久,才发现自己release的程序调用的外部库是debug版的,将外部库重新编译为release版后,将release版的程序重新运行后,打包可以正常运行了。