编译mysql动态链接库解决QMYSQL driver not loaded问题

3 篇文章 0 订阅

qt初次开发mysql时,常会碰到QSqlDatabase: QMYSQL driver not loaded问题
原因是qt缺失qsqlmysql.dll 与qsqlmysqld.dll,解决方案是
通过源码编译出qsqlmysql.dll 与qsqlmysqld.dll

以下为64win7下用64位qt编译64位mysql动态链接库

一、安装mysql
mysql源码位于
你的qt安装目录\你的qt版本号\Src\qtbase\src\plugins\sqldrivers\mysql
一、安装mysql
1、官网下载:https://dev.mysql.com/downloads/file/?id=494993
mysql-8.0.20-winx64.zip
2、解压压缩包至C:/mysql
3、设置MYSQL_HOME环境变量
3.1MYSQL_HOME
计算机-》右键-》高级系统设置-》环境变量-》系统变量-》新建
在对话框中
变量名:MYSQL_HOME
变量值:C:\mysql\mysql-8.0.20-winx64
确定
3,2PATH
系统变量->Path->编辑
在变量名最前端:输入%MYSQL_HOME%%;
重启主机

二、编译qsqlmysql.dll 与qsqlmysqld.dll
1、找到mysql源码并用qt打开他
qt安装目录\当前qt版本号\Src\qtbase\src\plugins\sqldrivers\mysql
2、编辑mysql.pro文件
于文件下方添加如下三行
LIBS += $$(MYSQL_HOME)/lib/libmysql.lib
INCLUDEPATH += $$(MYSQL_HOME)/include
DEPENDPATH += $$(MYSQL_HOME)/include
3、项目->重构->Ctrl+b(编译)
4、找到编译后的文件
qt安装目录\当前qt版本号\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers
找到刚刚编译出的4个文件
libqsqlmysql.a
libqsqlmysqld.a
qsqlmysql.dll
qsqlmysqld.dll

5、将qsqlmysql.dll与qsqlmysqld.dll复制添加到qt中
qt安装目录\当前qt版本号\mingw73_64\plugins\sqldrivers
6、重启qt

QMYSQL driver not loaded表示QMYSQL驱动程序未加载。在这种情况下,输出中列出了可用的驱动程序,其中包括QMYSQL和QMYSQL3。 要解决这个问题,可以按照以下步骤进行操作: 1. 确保已安装Qt的源代码。如果没有安装,可以从官网下载并解压缩源代码文件。 2. 打开Qt源代码文件夹中的mysql.pro文件。该文件位于"qtbase\src\plugins\sqldrivers\mysql"目录下。 3. 对mysql.pro文件进行修改,包括设置目标、头文件、源文件、依赖关系等。具体的修改内容可以参考提供的代码片段。 4. 在修改mysql.pro文件时,还需要指定MySQL的头文件和库文件的路径。确保INCLUDEPATH和LIBS变量中的路径正确指向你的MySQL安装目录。 5. 编译并构建项目,确保没有出现任何错误。 6. 检查生成的输出位置是否正确。 通过按照以上步骤进行设置和编译,应该能够解决QMYSQL driver not loaded问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [QSqlDatabase QMYSQL driver not loaded 原因以及解决办法(总结)](https://blog.csdn.net/Lvcxiao/article/details/118631612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值