求教大神 qt5编译mysql驱动问题

求教大神 qt5编译mysql驱动问题,第1张

注意编译器一定要和MYSQL的平台版本一致,32位的用32位的编译器编译,64位的用64位的编译器编译。

准备工作:MYSQL的目录:D:\SQL_Server\mariadb

Qt5.1.1的目录:C:\Qt

1. 先将D:\SQL_Server\mariadb中的include\和lib\文件夹复制到根目录(C:),因为后面make时路径不能有空格。

2. 打开QT5.1.1 for Desktop(MinGW 4.8)

cd C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql

qmake "INCLUDEPATH+=D:\SQL_Server\mariadb\include" "LIBS+=D:\SQL_Server\mariadb\lib\libmysql.lib" mysql.pro

mingw32-make

如果出现找不到mysql.h文件就用qtcreator打开mysql.pro文件,配置项目,然后编译,就会出现错误提示,把#include <mysql.h>改成#include <mysql/mysql.h>,编译就行了,或回到命令行再次执行mingw32-make即可.

3. 编译成功后。

进入到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\sqldrivers目录下,选中qsqlmysql.dll和 qsqlmysqld.dll两个文件,

复制到C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\sqldrivers目录下。

我在学习qt mysql的时候

网上搜索资料,好不容易编译出来mysql

可是 我把编译的dll复制到对应目录下 运行后提示:不能加载

后来终于知道是为什么了

因为编译好了,把编译成功的dll放在

D:\Qt\Qt5.0.1\5.0.1\mingw47_32\plugins\sqldrivers 这个目录下 还不行的

还有一个步骤

就是把你安装的mysql 也就是 E:\xampp\mysql\lib 这个目录下的 libmysql.dll 这个文件复制到 D:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin 这个目录

然后测试 就可以正常运行了

为什么要这样一个步骤,我想你编译的dll需要依赖mysql官方的那个libmysql.dll 所以 ,你需要复制过去

大概的步骤是:

1.下载mysql最新版本,安装的时候选择全部安装,否则你安装的mysql里没有对应的c++文件 【也就是没有E:\xampp\mysql\lib 和 E:\xampp\mysql\include 这2个目录】 这2个目录是很重要的

2.下载qt官方的qt源码,【如果你下载的qt的安装版,默认是没有源码的,你需要去qt官方再次下载一个源码http://qt-project.org/downloads】

在pro文件中增加第三方库文件的语法如下

LIBS += -LMYSQLLIBPATH -lmysql

-L 参数后面是libmysql.lib文件所在的目录路径

-l 参数后面是需要连接的libmysql.lib库文件名称(去掉开头的lib和结尾的.lib)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8427542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存