准备工作: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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)