关闭

qt连接mysqlde配置

383人阅读 评论(0) 收藏 举报

此文档针对windows下Qt Creator + Qt SDK用户,开发环境配置参见本人其他博文

 

qt由于授权许可的限制,Qt的开源版本没有提供所有数据库的驱动程序。免费下载的中只含有QSQLITE也就是SQLite的驱动程序,要想与mysql或oracle等连接需要自己编译其驱动。
    由于种种问题,经历各种重装,各种失败,本人用了两天才成功用qt连接上了mysql数据库。(看网上其他教程都是分分钟搞定  -_-!!)在这里也写一下自己的经历。
    下边开始正文:
    一.下载mysql http://dev.mysql.com/downloads/ 目前最新版本5.5。
    二.安装mysql  安装时不能选择Typical型,这样会缺少库文件(include和lib文件夹)。啥都不管直接选择FUll型。
    三.将mysql安装目录下的include和lib两个文件夹拷贝到qt\4.7.4\src\plugins\sqldrivers\mysql下。可以自己新建一个目录如mysqllib。
      四.修改mysql.pro文件,在第二行添加如下内容
          INCLUDEPATH += "./mysqllib/include"
    LIBS+= "./mysqllib/lib/libmysql.lib"
    五.将QT的bin目录和mingw的目录都添加到环境变量的path中。
    六.运行qt 4.7.4 Command Prompt 输入以下命令(路径自己注意修改)
        cd qt\4.7.4\src\plugins\sqldrivers\mysql
        qmake
        mingw32-make release
        mingw32-make debug
       执行qmake后没有返回结果,只是在mysql目录下生成了debug和release的makefile文件Makefile.Debug和Makefile.Release。
       全部执行完后,将release下的libqsqlmysql4.a,qsqlmysql4.dll和debug下的libqsqlmysqld4.a,libqsqlmysqld4.dll 拷贝至
       QtSDK\Desktop\Qt\4.7.4\mingw\plugins\sqldrivers  
    目录下
   七.将mysql的库文件libmysql.dll拷贝到QtSDK\Desktop\Qt\4.7.4\mingw\bin 目录下

接下来运行一个例子看驱动是否装好:
新建一个qt gui 控制台项目SQLtest
在SQLtest.pro中加入QT  +=sql
接着修改main.cpp如下

#include <QtCore/QCoreApplication>

#include <QtSql>int main(int argc, char *argv[]){    

QCoreApplication a(argc, argv);    

qDebug() << "Available drivers:";      

QStringList drivers = QSqlDatabase::drivers();      

foreach(QString driver, drivers)           qDebug() << "\t "<< driver;    

qDebug() << "End";    

return a.exec();

}

执行程序输出为:

Available drivers:        

"QSQLITE"        

"QMYSQL3"        

"QMYSQL"

End

其中有"QMYSQL"则表示编译mysql的驱动成功了!!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:56767次
    • 积分:1459
    • 等级:
    • 排名:千里之外
    • 原创:92篇
    • 转载:12篇
    • 译文:0篇
    • 评论:0条
    文章分类