Qt4.8编译MYSQL驱动

1、首先:进入到自己相应的qt/src/plugins/sqldrivers/mysql 目录下 (我的目录为:C:\QT\4.8.0\src\plugins\sqldrivers\mysql),这个下面有两个文件mysql.pro,一个main.cpp还有一个README

 

2、用文本编辑器打开该目录下的mysql.pro文件, 在mysql.pro中加入:

 

INCLUDEPATH+="C:\Program Files\MySQL\MySQL Server 5.5\include"

LIBS+="C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib"

 

 保存并退出(即你的mysql的include 路径和 lib 下 opt 的 libmysql.lib 路径)

 

3、打开Qt 4.8.0 Command Prompt, 编译 这个文件

 

  #qmake -o Makefile mysql.pro

//提示3条警告信息,但没影响

 #mingw32-make (这个网上有好几个编译命令,我的是用nmake);

 

 

4、然后你会发现你的 qt 下这个 qt/plugins/sqldrivers路径(我的路径为S:\QT\4.8.0\plugins\sqldrivers 下 )下多了四个文件分别为 libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll,qsqlmysqld4.dll (生成文件不一定是上面四个)这样基本上就编译成功 ,可以使用 mysql 了 !~

5、最后安全起见再将 mysql下 bin 文件中libmysql.dll文件 拷贝到 system32 下面

 

然后测试:


 

 

#include 
#include 
#include 
#include 
#include 
bool createConnection()
{
    qDebug() << "Available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
              qDebug() << "\t" << driver;
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    qDebug() << "MYSQL driver valid?" << db.isValid();
}
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    if (!createConnection())
        return 1;
    w.show();
    
    return a.exec();
}

 

 

 注:也可以用VS2008打开mysql.pro,配置一下INCLUDEPATH和LIBS,编译的话一样可以生成上述文件。

 

 

参考:Qt4.7 Mysql驱动编译过程以及驱动下载

你可能感兴趣的:(数据库)