一开始在我打包完成之后,在网上查找了一系列解决办法后放到别的电脑上(没有MySQL)时,有的电脑可以正常运行,有的不能正常运行。最后通过分析软件找到打包程序需要的dll文件。
一:QT中选择release并构建
Main函数里面的加一句代码在最前面:QApplication::addLibraryPath("./plugins");
然后:
二:使用QT的自带打包工具进行打包
在你项目打包好的地址中找到project.exe(换成你的构建生成的运行程序),我的地址是:
D:\Work\QTProjects\WorkProject\......\build-Project1-Desktop_Qt_5_14_2_MinGW_64_bit-Release\release
把它拷贝出来到一个空文件夹中(不要中文)
然后在这个文件夹出打开cmd(快捷方式是按住shift然后鼠标右击,选择在此处打开命令窗口),输入:windeployqt project.exe (替换成自己的EXE文件名,我这里是添加了环境变量了,我再path中添加了C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin ,需要的可以添加自己的环境变量)按下回车生成一系列文件如下:
三:添加MySQL和QT需要的一些文件
1:创建一个plugins文件夹(和EXE文件同级),并在这个文件夹里创建sqldrivers文件夹
在里边放入文件:qsqlmysql.dll
2:在EXE文件的同级中粘贴如下文件:
3:在EXE文件的同级中粘贴MySQL需要的dll(在好多电脑中不粘贴会报错:driver not loaded):
这些dll文件如果在你的本地release后可以正常运行,那么都可以在你的电脑上找到。
可以使用工具procexp.exe进行分析查找
附加:我的一些dll文件 https://download.csdn.net/download/qq_36022290/13026273