您的位置:首页 > 编程语言 > Qt开发

QT编译mysql驱动

2014-05-17 13:29 288 查看

一、 下载mysql C链接库


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











根据当前系统选择下载:






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


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







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



















安装目录如下:






三、 库文件拷贝


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



E:\QT4\4.8.4\src\plugins\sqldrivers\mysql,内容如下:







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







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



E:\QT4\4.8.4\src\plugins\sqldrivers\mysql 目录下:






四、 正式编译驱动


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



INCLUDEPATH+="E:\MySQL\include"



LIBS+=-LE:\MySQL\lib\ -llibmysql







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


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






控制台如下:







切换到 E:\QT4\4.8.4\src\plugins\sqldrivers\mysql目录,


输入:cd E:\QT4\4.8.4\src\plugins\sqldrivers\mysql






执行qmake







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







成功生成:







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







成功生成:







在E:\QT4\4.8.4\src\plugins\sqldrivers\mysql项目目录下会生成如下文件:







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


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










将这4个文件拷贝到E:\QT4\4.8.4\plugins\sqldrivers 目录下:







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







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


五、 测试连接mysql


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






源码:

  


#include <QCoreApplication>
#include <QDebug>
#include <QString>
#include <QStringList>
#include <QtSql/QtSql>
#include <QtSql/QSqlDatabase>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

qDebug() << "Available drivers:";

QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");

db.setHostName("127.0.0.1");
db.setPort(3306);
db.setDatabaseName("mysql");
db.setUserName("root");
db.setPassword("qaz");

if(db.open()){
qDebug() <<"success to link mysqld db!";
}

return a.exec();
}



运行结果如下:







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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: