天天看點

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 <QtGui>
#include <QtSql>
#include <cstdlib>
#include <QtGui/QApplication>
#include <QtSql/QtSql>
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驅動編譯過程以及驅動下載下傳