系統:Windows XP
Qt版本:4.8.0
Qt Creator版本:2.4.1
安裝路徑:
Qt -> D:\Qt\4.8.0
Qt Creator -> D:\Qt\qtcreator-2.4.1
mingw -> D:\Qt\qtcreator-2.4.1\mingw
1.配置環境變量:
到“我的電腦->屬性->高級->環境變量->系統變量”中編輯Path,添加:;D:\Qt\4.8.0\bin;D:\Qt\qtcreator-2.4.1\bin;D:\Qt\qtcreator-2.4.1\mingw\bin
確定;爲了讓環境變量生效,如果配置環境變量之前已經打開cmd,要重新打開一個新的cmd窗口。
2.下載mysql
官網www.mysql.com下載,非安裝包的文件名稱類似這種格式:mysql-5.5.29-win32.zip我下載的安裝包:http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.29-win32.zip
只需要mysql裏面的lib和include,所以這裏我提供一個精簡包,下載地址:mysql_lib_include.rar
解壓到D:\
3.下載mingw-utils-0.3.tar.gz,下載地址
解壓出來,將bin文件夾裏面的reimp.exe拷貝到D:\Qt\qtcreator-2.4.1\mingw\bin目錄,不拷貝也行,調用reimp手動添加絕對路徑。
4.編譯驅動
打開cmd,執行以下命令:(1)轉換libmysql格式
d:cd d:\mysql\lib
reimp -d libmysql.lib
dlltool -k -d libmysql.def -l libmysql.a
(2)編譯qt的mysql驅動
cd d:\qt\4.8.0\src\plugins\sqldrivers\mysql
qmake "CONFIG+=release" -o Makefile "INCLUDEPATH+=d:/mysql/include" "LIBS+=d:/mysql/lib/libmysql.a" mysql.pro
mingw32-make
qmake "CONFIG+=debug" -o Makefile "INCLUDEPATH+=d:/mysql/include" "LIBS+=d:/mysql/lib/libmysql.a" mysql.pro
mingw32-make
5.拷貝mysql驅動
編譯完成後,打開D:\Qt\4.8.0\src\plugins\sqldrivers\mysql目錄,可以看到release和debug目錄,分別從release和debug目錄中拷貝以下4個文件到D:\Qt\4.8.0\plugins\sqldrivers:qsqlmysql4.dll
libqsqlmysql4.a
qsqlmysqld4.dll
libqsqlmysqld4.a
6.拷貝mysql動態庫(重要)
(1)本機運行
拷貝D:\mysql\lib\libmysql.dll文件到D:\Qt\4.8.0\bin(2)沒有mysql的電腦
若要發佈應用程序,要跟着libmysql.dll一塊發佈,與應用程序同級目錄。7.測試mysql可用性
加入已經存在mysql服務,那麼編寫以下代碼測試:(1).測試是否有驅動
QStringList driverList = QSqlDatabase::drivers();
qDebug() << driverList;
//運行結果:("QSQLITE", "QMYSQL3", "QMYSQL", "QODBC3", "QODBC")?
如果存在QMYSQL和QMYSQL3就是正確的(2).測試mysql是否可用
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("192.168.1.23");
db.setDatabaseName("testsql");
db.setUserName("root");
db.setPassword("root");
bool ok = db.open();
qDebug() << ok;
//運行結果:true
若爲true,說明連接成功8.提供編譯成功的mysql驅動
我的版本上面已經寫了:Windows, Qt4.8, mingw下載地址:qt4.8_mingw_qsqlmysql4.rar