QT编译mysql驱动

一、 下载mysql C链接库

地址:http://dev.mysql.com/downloads/

clip_image002[14]

clip_image003[8]

根据当前系统选择下载:

clip_image005[8]

二、 安装下载好的mysql驱动文件

注意,一定要安装在不含有中文、空格以及特出符号的文件、路径中,为了方面起见,我直接安装在了 E:MySQL 目录下,建议这么做。

clip_image006[8]

一定要选择第二项,否者我们没法指定安装目录,会默认安装到C盘下。不过后来证明安装到哪里都无所谓,但这里作为一个安装mysql的知识点吧,因为在安装mysql server时一样可以通过这种方式选择安装路径。

clip_image007[8]

clip_image008[8]

clip_image009[8]

clip_image010[8]

安装目录如下:

clip_image012[8]

三、 库文件拷贝

我的QT 安装目录为 E:QT44.8.4,版本号是4.8.4 所以打开如下目录:

E:QT44.8.4srcpluginssqldriversmysql,内容如下:

clip_image014[8]

进入mysql 驱动安装目录下的lib目录:

clip_image016[8]

将libmysql.dll 和 libmysql.lib 文件即上图圈出的文件拷贝到

E:QT44.8.4srcpluginssqldriversmysql 目录下:

clip_image018[8]

四、 正式编译驱动

编辑目录下的mysql.pro文件,添加:

INCLUDEPATH+="E:MySQLinclude"

LIBS+=-LE:MySQLlib -llibmysql

clip_image020[8]

图中圈中的目录为mysql驱动安装的目录,这个一定不能写错。

运行qt的控制台窗口,进行文件的编译。Qt控制台打开方法如下:

clip_image021[8]

控制台如下:

clip_image023[8]

切换到 E:QT44.8.4srcpluginssqldriversmysql目录,

输入:cd E:QT44.8.4srcpluginssqldriversmysql

clip_image025[8]

执行qmake

clip_image027[8]

执行mingw32-make debug ,生成debug版本的链接库:

clip_image029[8]

成功生成:

clip_image031[8]

执行mingw32-make release,生成release版本的链接库:

clip_image033[8]

成功生成:

clip_image035[8]

在E:QT44.8.4srcpluginssqldriversmysql项目目录下会生成如下文件:

clip_image037[8]

分别进入debug与release目录,会看到生成的

qsqlmysqld4.dll、qsqlmysqld4.lib 和 qsqlmysql4.dll、qsqlmysql4.lib 链接库文件。

clip_image039[8]

clip_image041[8]

将这4个文件拷贝到E:QT44.8.4pluginssqldrivers 目录下:

clip_image043[8]

将之前拷贝到项目目录下的libmysql.dll 和 libmysql.lib文件拷贝到C:WindowsSystem32目录下。

clip_image045[8]

这样mysql驱动边完全安装完成。以上编译过程也可以用qt creator 来完成,与编译普通的qt项目没有区别。

五、 测试连接mysql

下面做一个测试程序,新建控qt制台项目,main.cpp 文件内容如下:

clip_image047[8]

源码:

  
 1 #include <QCoreApplication>
 2 #include <QDebug>
 3 #include <QString>
 4 #include <QStringList>
 5 #include <QtSql/QtSql>
 6 #include <QtSql/QSqlDatabase>
 7  
 8  
 9 int main(int argc, char *argv[])
10 {
11     QCoreApplication a(argc, argv);
12  
13     qDebug() << "Available drivers:";
14  
15     QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
16  
17     db.setHostName("127.0.0.1");
18     db.setPort(3306);
19     db.setDatabaseName("mysql");
20     db.setUserName("root");
21     db.setPassword("qaz");
22  
23     if(db.open()){
24         qDebug() <<"success to link mysqld db!";
25     }
26  
27     return a.exec();
28 }

运行结果如下:

clip_image049[8]

这样便证明mysql安装完毕,Enjoy!

参考:http://jingyan.baidu.com/article/27fa7326ffb99146f8271fe0.html

原文地址:https://www.cnblogs.com/kyyblabla/p/3733993.html