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 謝謝

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM