天天看點

win下Qt連接配接MySql (mingw)

Qt Assistant中搜尋下:

win下Qt連接配接MySql (mingw)

會看到,裡面已經有說明,不過太精煉,真正做的時候總是因為這或那,搞的你頭大。

我安裝工具的路徑

       Qt:C:\Qt\2010.04\qt

mysql:C:\MySQL\MySQL Server 5.5

下面一步一步講:

1.因為mysql如果是預設安裝,檔案名是有空格的,是以我在d:/下創目錄  mysql

2.把C:\MySQL\MySQL Server 5.5\include  C:\MySQL\MySQL Server 5.5\lib  都拷貝到 d:\mysql中

3.qt助手裡說的是用 libmysql.lib 和nmake來編譯,我看其他資料上說是沒問題,但是 mingw是linux下的環境 需要libmysql.a的。 是以需要用到reimp工具來進行轉換

    如果你的mingw/bin中沒有,那麼上面有下載下傳位址,下載下傳解壓後,把reimp拷貝到 mingw/bin下

         ctrl+r  輸入 cmd   回車

 指令:

        cd d:\mysql\lib

reimp -d libmysql.lib

dlltool -k -d libmysql.def -l libmysql.a

    執行完後,在d:\mysql\lib 中應該有libmysql.a檔案了

4.因為有些環境變量沒配,是以這裡需要打開 Qt command Prompt 。細心的話你會發現打開Qt command Prompt時,它會設定一些環境變量。

    指令:

1.  cd %QTDIR%\src\plugins\sqldrivers\mysql

2.  qmake -o Makefile "INCLUDEPATH+=D:\mysql\INCLUDE" "LIBS+=D:\mysql\LIBMYSQL.a" mysql.pro

3.  mingw32-make

執行到這裡,如果沒有提示錯誤,那麼就說明成功了。去C:\Qt\2010.04\qt\plugins\sqldrivers 會看到

  1. qsqlmysql4.dll   
  2. libqsqlmysql4.a  
  3. qsqlmysqld4.dll   
  4. libqsqlmysqld4.a  

說明成功了

下面建立一個qt empty project 别忘了在 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();
}
           

執行結果

win下Qt連接配接MySql (mingw)

希望這篇對你有幫助