Qt5.4下連接Mysql,QSqlDatabase: QMYSQL driver not loaded but available

首先來自這位國外大神的幫助  http://seppemagiels.com/blog/create-mysql-driver-qt5-windows,  同時我最希望我的這篇博客能夠幫助一些朋友解決這個問題,我也是糾結了好久,搞得好煩,非常能理解那種心情。。。。網上的教程都是很老的版本,沒有正確的教程,還是谷歌好,在國外找到了,還好該博客的英文不是很複雜啊。。。。我這篇主要寫Windows, Linux下比較容易,大同小異,網上的教程也挺多。

Qt5.4是自帶Mysql驅動的, 

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL QMYSQL3 QODBC 等等,說明Qt是自帶的。但是爲什麼又出現 not load 呢,是因爲該驅動所滿足的依賴性,不滿足,故要重新編譯


工具:Qt5.4(Mingw491_32)以及源碼, Mysql5.5.30-win32.mis

Qt5.4(Mingw491_32)離線安裝包下載地址,Qt5.4(Mingw491_32)源碼下載地址

Mysql5.5.30-win32.mis 下載地址(百度網盤)

不建議使用Mysql5.5以上版本,目前5.5以上只有5.6, 因爲5.6版本不能自定義  MysqlServer 的安裝位置, 而安裝位置必須是沒有空格的.雖然5.6能夠自定義文件夾,但文件夾下面的文件夾是有空格的,5.5可以完全自定義

1. 安裝Mysql 和 Qt

安裝無需先後,先安裝那個都可以,                      Mysql安裝方法, 要選擇自定義, 即 Custom, 之後選擇文件夾,本人建議是C:\MySQL\MySQLServer5.5\, , 必須沒有空格喲, 因爲在命令行下面空格就代表這一段命令結束,  之後就是  一直 next  就行了,

Qt沒有要求,一直Next就行了,我的QT路徑是C:\Qt,   順便 把源碼解壓出來吧,, 我的解壓路徑是C:\qt-everywhere-opensource-src-5.4.0

2.重新編譯Mysql驅動

添加環境變量   完全沒有必要
打開 Qt 的命令行終端,點擊開始菜單,Q5.4.0t,見下圖


輸入 cd C:\qt-everywhere-opensource-src-5.4.0\qtbase\src\plugins\sqldrivers\mysql\進到這個文件夾裏面
qmake "INCLUDEPATH+=C:\MySQL\MySQLServer5.5\include" "LIBS+=C:\MySQL\MySQLServer5.5\lib\libmysql.lib" -o Makefile mysql.pro
mingw32-make
OK ,編譯好了,如果你出現了一系列錯誤,比如 找不到#include <mysql.h>等等了,這就是你的qmake 後面的路徑包含空格了,在好好檢查一下吧

3.重新配置MySQL驅動

將 C:\qt-everywhere-opensource-src-5.4.0\qtbase\plugins\sqldrivers  文件夾下面的  qsqlmysql.dll  和 qsqlmysqld.dll 複製到C:\Qt\Qt5.4.0\5.4\mingw491_32\plugins\sqldrivers.  好多教程到這一步就完了,其實這樣做是還是不行的,還差一步

4.最關鍵的最後一步

將C:\MySQL\MySQLServer5.5\lib\libmysql.dll  複製到 C:\Windows 一切大功告成,開始你的Qt之旅吧

至於Linux下,也是一樣的,qmake ***** , make, 複製過去,只不過沒有第4步而已,也是沒有空格,否則就會出現各種頭文件或者文件找不到

注:   轉載請說明出處,http://blog.csdn.net/tenlee/article/details/43614241 謝謝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章