in windows (windows 7)
compiler: mingw 4.4.0
我把 mysql 安裝在
C:/MySQL/MySQL Server 5.1/
和文件上有點不同, 我直接修改 mysql.pro, 加入紅色部份。
edit D:\qt-everywhere-opensource-src-4.7.3\src\plugins\sqldrivers\mysql\mysql.pro
TARGET = qsqlmysql
SOURCES = main.cpp
INCLUDEPATH+="C:/MySQL/MySQL Server 5.1/include"
LIBS+="C:/MySQL/MySQL Server 5.1/lib/opt/libmysql.lib"
include(../../../sql/drivers/mysql/qsql_mysql.pri)
include(../qsqldriverbase.pri)
cd D:\qt-everywhere-opensource-src-4.7.3\src\plugins\sqldrivers\mysql\mysql.pro
D:\qt-everywhere-opensource-src-4.7.3\bin\qmake mysql.pro
在重新 make 即可。
D:\qt-everywhere-opensource-src-4.7.3\plugins\sqldrivers
libqsqlmysql4.a
libqsqlmysqld4.a
qsqlmysql4.dllqsqlmysqld4.dll
還沒完, 到這裡的時候, 我做了測試, 發現雖然編譯出 qsqlmysqld4.dll 這些 dll, 但是 qt 在偵測所有的 sql plging drivers 時, 仍然找不到 qmysql driver, 也就是無法 load qsqlmysqld* 這些 dll。
copy C:\MySQL\MySQL Server 5.1\bin\libmySQL.dll (開頭的參考文件似乎有點錯誤) 到 D:\qt-everywhere-opensource-src-4.7.3\bin 下, 這樣使用
QStringList drivers = QSqlDatabase::drivers();
就可看到 QMYSQL, QMYSQL3 這個 mysql driver 了。
接下來就可以開始測試 sql command。