-
编译环境:MINGW5.15.2 64Bit;
如果是MSVC的话,就也选对应的命令行工具。 -
命令行工具:cd /d 编译生成的发布版本exe所在的文件夹,一般是需要把exe文件单独拉出来到一个文件夹中。
-
命令行工具:windeployqt 编译生成的发布版本exe
-
以上就可以在exe所在的文件夹中生成动态链接库等DLL
-
然后发布到其他电脑运行的时候,可能是会出现问题,网上的教程基本没用。我自己的解决办法是:虽然是用MINGW生成的发布版本exe,但是还是需要vcredist.x64.exe这个开发环境,如果是使用msvc编译的话,需要在命令行工具最开始的时候添加一句:call "…/vcvarsall.bat"x86,这样子的话生成VC环境的exe程序。
-
我的程序连接mysql,需要把mysql server 8.0目录下的lib文件夹下的libmysql.dll和libmysql.lib两个进入exe根目录下,然后这个程序的话在自己的电脑就可以运行了,因为你的电脑环境变量中可以加载到DLL。
-
但是在其他电脑上,尤其是非开发电脑的话,会不一定能够运行,为什么呢?我在环境变量中删了一条环境变量:C:\Program Files\MySQL\MySQL Shell 8.0\bin\,然后确定了,我的程序需要这个文件夹下的:前两个dll文件。这个应该就是其他文档里面说的加密ssl文件,但是名字已经不是之前的文件名了,而且,是放在shell文件夹下的。
-
最后,在非开发环境的电脑的话,需要安装vcredist.x64.exe开发环境。如果没有安装VC组件,程序打包之后,也会显示driver not loaded的提示。
QT5.15.2+MYSQL8.0.28发布版本程序运行drive not load
于 2022-03-08 20:09:16 首次发布