第一句,獲取系統(tǒng)已經(jīng)安裝的所有數(shù)據(jù)庫驅(qū)動(QT插件目錄下的數(shù)據(jù)庫驅(qū)動)。
創(chuàng)新互聯(lián)公司成立于2013年,我們提供高端網(wǎng)站建設(shè)、網(wǎng)站制作公司、網(wǎng)站設(shè)計、網(wǎng)站定制、營銷型網(wǎng)站建設(shè)、微信平臺小程序開發(fā)、微信公眾號開發(fā)、seo優(yōu)化服務(wù),提供專業(yè)營銷思路、內(nèi)容策劃、視覺設(shè)計、程序開發(fā)來完成項目落地,為成都活動板房企業(yè)提供源源不斷的流量和訂單咨詢。
QT程序啟動的時候,會搜索插件目錄下的所有插件并注冊到相應(yīng)位置(比如內(nèi)存全局變量或者windows注冊表?),然后第一句就從這些注冊位置獲得所有的插件(比如數(shù)據(jù)庫驅(qū)動)名稱。
第二句不用說是初始化要顯示的信息字符串。
第三句是QT支持的宏(也許新版本C++ 0x也支持?)?總之就是循環(huán)獲得Stringlist的每個條目(代表一種數(shù)據(jù)庫驅(qū)動的名字),然后
第四局就是將數(shù)據(jù)庫驅(qū)動名稱加入到要顯示的信息,這些信息是換號分別顯示的
注意編譯器一定要和MYSQL的平臺版本一致,32位的用32位的編譯器編譯,64位的用64位的編譯器編譯。
準備工作:MYSQL的目錄:D:\SQL_Server\mariadb
Qt5.1.1的目錄:C:\Qt
1. 先將D:\SQL_Server\mariadb中的include\和lib\文件夾復制到根目錄(C:),因為后面make時路徑不能有空格。
2. 打開QT5.1.1 for Desktop(MinGW 4.8)
cd C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=D:\SQL_Server\mariadb\include" "LIBS+=D:\SQL_Server\mariadb\lib\libmysql.lib" mysql.pro
mingw32-make
如果出現(xiàn)找不到mysql.h文件就用qtcreator打開mysql.pro文件,配置項目,然后編譯,就會出現(xiàn)錯誤提示,把#include mysql.h改成#include mysql/mysql.h,編譯就行了,或回到命令行再次執(zhí)行mingw32-make即可.
3. 編譯成功后。
進入到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\sqldrivers目錄下,選中qsqlmysql.dll和 qsqlmysqld.dll兩個文件,
復制到C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\sqldrivers目錄下。
Qt項目里用到了mysql,運行后報錯:
查閱資料知道需要配置mysql驅(qū)動,本以為幾分鐘解決的事情,沒想到開啟了惡魔經(jīng)歷,整整兩天時間,mmp!
Stop! 廢話別說啦,入正題:
首先,Qt mysql的安裝和環(huán)境配置就略了,一搜一大把。
不過注意兩點:
先進入到/Users/ing/Qt5.14.2/5.14.2/Src/qtbase/src/plugins/sqldrivers目錄下,執(zhí)行:
這里確保qmake用的qt里的就行
其實你可以配置下qt相關(guān)的環(huán)境變量,在bash_profile里添加:
然后,source ~/.bash_profile ,還有別忘了 source ~/.zshrc
執(zhí)行成功的話會輸出:
根據(jù)提示 依次執(zhí)行:
make sub-mysql
make
make install
進入/Users/ing/Qt5.14.2/5.14.2/clang_64/plugins/sqldrivers下執(zhí)行,查看鏈接庫:
輸出:
此時,運行qt程序 依舊報錯。
根據(jù)查閱的資料,問題出在
網(wǎng)友們所說的“詭異”的路徑那一行(你的輸出可能和我的不一樣的,但問題應(yīng)該一樣) ,也就是有 libmysqlclient.21.dylib 這行。
另外查了下 @repath 的含義 意思是說 不能明確的指向。。。所以 這里就需要將libmysqlclient.21.dylib 指向扳到正確的道路。
方法就是利用 install_name_tool -change
執(zhí)行
這里一定要注意順序,剛開始我就是順序搞錯了,死活就是不行,最后跑到官方論壇里用蹩腳的英語發(fā)帖求教也無果,最后還是一遍的重試,一遍的檢查才發(fā)現(xiàn)的。一天就這么浪費了。
此刻在運行qt程序 ,就不會再報上面的錯誤了。
撒花,禮花搞起~~~
網(wǎng)上去下載mysql的qt驅(qū)動庫。這個qt官方不帶,只能下載源碼自己編譯。
簡單,首先安裝好MYSQL數(shù)據(jù)庫,然后再安裝目錄下 MySQL\MySQL Server 5.1\bin\libmySQL.dll 這個文件拷貝到 Qt5.1.1\5.1.1\mingw48_32\bin 下面就行了,Good luck