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

來源:互聯網
上載者:User

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

首先來自這位國外大神的協助  http://seppemagiels.com/blog/create-mysql-driver-qt5-windows,  同時我最希望我的這篇部落格能夠協助一些朋友解決這個問題,我也是糾結了好久,搞得好煩,非常能理解那種心情。。。。網上的教程都是很老的版本,沒有正確的教程,還是Google好,在國外找到了,還好該部落格的英文不是很複雜啊。。。。我這篇主要寫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.promingw32-makeOK ,編譯好了,如果你出現了一系列錯誤,比如 找不到#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步而已,也是沒有空格,否則就會出現各種標頭檔或者檔案找不到如果對你有協助,請評論個謝謝,本人將感激涕零註:   轉載請說明出處,謝謝

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.