一开始在我打包完成之后,在网上查找了一系列解决办法后放到别的电脑上(没有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 ,需要的可以添加自己的环境变量)按下回车生成一系列文件如下:

 

QT打包之解决MySQL打包driver not loaded

三:添加MySQL和QT需要的一些文件

1:创建一个plugins文件夹(和EXE文件同级),并在这个文件夹里创建sqldrivers文件夹

在里边放入文件:qsqlmysql.dll

2:在EXE文件的同级中粘贴如下文件:

 

QT打包之解决MySQL打包driver not loaded

3:在EXE文件的同级中粘贴MySQL需要的dll(在好多电脑中不粘贴会报错:driver not loaded):

QT打包之解决MySQL打包driver not loaded

 

这些dll文件如果在你的本地release后可以正常运行,那么都可以在你的电脑上找到。

可以使用工具procexp.exe进行分析查找

附加:我的一些dll文件 https://download.csdn.net/download/qq_36022290/13026273

相关文章: