Qt+MySQL 程序打包遇到 “Driver not loaded“ 最简单方案

本文详细介绍了如何根据Qt版本选择合适的MySQL驱动,打包exe时如何配置环境(如设置PATH和使用windeployqt),以及如何在32/64位系统中处理vc_redist的静默安装,以确保应用程序的顺利运行。
摘要由CSDN通过智能技术生成

1.根据你的kit,选择对应的MySQL所需的文件,从这里下载,无需自己编译,一定需要选对kit版本及位数,也就是你exe编译出来所用的kit相符的:
https://github.com/thecodemonkey86/qt_mysql_driver/releases

2.打包出来的exe,新建个文件夹,放入之后cmd进入到此目录,如果你希望不按照系统PATH的环境,可以使用如下指令指定当前cmd所采用的环境,PATH=你自己的kit之bin目录:

set PATH=D:\Qt\Qt5.12.8\5.12.8\mingw73_64\bin

然后使用如下指令使用qt的封装工具复制所需文件:

windeployqt 文件名.exe

3.下载之后会得到libmysql.dll和包含qsqlmysql.dll与qsqlmysqld.dll的sqldrivers文件夹,直接把文件夹和libmysql.dll丢进exe同目录。不需要加plugins文件夹也不需要改main。

4.重点来了,32位exe在Windows需依赖vc_redist.x86.exe提供的环境,而64的需要vc_redist.x64.exe提供的环境,最新版的话在这里下载:

https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

5.既然你在打包,我用的是Inno Setup,在exe同级目录我建立了“Redist”文件,把“VC_redist.x86.exe”放进去,并使用下述内容使得可以在安装过程中静默安装“VC_redist.x86.exe”来达到我们的目的,在你自己的[Files]和[Run]添加如下格式的描述即可。

[Files]
Source: "C:\Users\2_hours\Desktop\7\Redist\VC_redist.x86.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall

[Run]
Filename: "{tmp}\VC_redist.x86.exe"; Parameters: "/install /quiet /norestart"; StatusMsg: "正在安装 VC Redistributable..."; Flags: waituntilterminated runhidden

如果解决了你的苦恼点个赞支持一下 XD,有问题可以留言。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值