Window下 Qt 編譯MySQL驅動
搞了一整天的qt下連線mysql的事,終於搞定了
這裡使用mysql的過程中主要會出現“QMYSQL driver not loaded”的錯誤,這有兩種可能
1.qt找不到你的mysql的驅動。
先去你的Qt的安裝目錄(例:C:\Qt\4.8.5\plugins\sqldrivers)下找找看有沒有mysql的驅動
驅動的名字為“libqsqlmysqld4.a ”和 “qsqlmysqld4.dll”(搜尋的過程中很多人說是這兩個檔案“qsqlmysql.dll”和“qsqlmysqld.dll”,可能是qt4和qt5的卻別,我的qt4最後編譯mysql驅動生成的就是前面的兩個)
如果能找到這兩個檔案,那麼恭喜你,不需要自己去編譯生成這兩個驅動檔案了
2.qt目錄下有驅動檔案,但是qt找不到mysql的庫檔案
庫的檔名為“libmysql.lib”,這個庫檔案應該放在Qt的bin資料夾下(例:C:\Qt\4.8.5\bin)
趕緊去資料夾裡看看,十有八九沒有啊,怎麼辦呢?
去你mysql的安裝目錄找找,在lib資料夾裡
另外強調一下,mysql的版本必須要和Qt一樣。即32位都是32位,搞錯了會出錯的。
關於mysql的下載,我也是弄了很久,剛開始不知道mysql可以免安裝,就以為下錯了。其實mysql有安裝和解壓兩種(不只是單純的解壓哦)
這裡給個安裝方法連結http://www.cnblogs.com/fnlingnzb-learner/p/6009153.html
接下來是重點,對mysql的驅動進行編譯,以生成libqsqlmysqld4.a ”和 “qsqlmysqld4.dll”這兩個檔案
1.首先找到Qt安裝目錄下的mysql.pro工程原始碼,我的路徑為:C:\Qt\4.8.5\src\plugins\sqldrivers\mysql
用Qt開啟該工程,試著進行構建,一般來說,Qt會告訴你找不到mysql.h檔案,這時候不要慌,去你的mysql安裝目錄下或者剛下載的壓縮包裡找找,找到include資料夾
然後在PRO中加入這兩句
編譯後,查詢生成資料夾debug或release中會有這兩個libqsqlmysqld4.a ”和 “qsqlmysqld4.dll”
複製後放入C:\Qt\4.8.5\plugins\sqldrivers這個路徑,千萬不要放錯哦,然後就應該可以正常使用啦
2017/8/3更新 按上文連線發現有問題,資料夾下並沒有data資料夾,新增方法如下:
輸入cmd進入控制檯
1.停止mysql,在命令視窗中輸入並執行:net stop mysql 即可
2.進入到mysql安裝目錄的bin目錄下。然後輸入命令(備註:所有的--前面均有一個空格哦。建議直接複製,不要自己輸入命令,以防丟失空格哦):
mysqld --initialize-insecure --user=mysql
然後回車;去目錄下檢視,已經自動建立好data資料夾,然後再次啟動。
這裡有個疑惑 用Qt連線資料庫時,setDatabaseName()這個函式只有選擇已經存在的資料庫時,才可以連線,如果不存在則連線失敗
相關文章
- Qt編譯MySQL驅動QT編譯MySql
- Linux下快速靜態編譯Qt以及Qt動態/靜態版本共存Linux編譯QT
- 04_Linux下把驅動編譯進核心Linux編譯
- window 編譯zephyr編譯
- Qt+MySql開發筆記:Qt5.9.3的msvc2017x64編譯MySql8.0.16版本驅動並Demo連線資料庫QTMySql筆記編譯資料庫
- Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯Linux筆記原始碼編譯
- 聊聊QT新增MySQL驅動依賴的問題QTMySql
- 記錄一下 MacOS 下原始碼編譯 Qt 5.15.2Mac原始碼編譯QT
- Centos7.3編譯RAID驅動(一)CentOS編譯AI
- QT中文編譯出錯QT編譯
- MySQL驅動的下載方法MySql
- Win10下Qt+OpenCV+Cmake編譯錯誤Win10QTOpenCV編譯
- window驅動開發總結
- 【MySQL安裝】Linux下安裝MySQL(預編譯)MySqlLinux編譯
- QT支援https及編譯OpenSSLQTHTTP編譯
- Qt 編譯qt-material-widgets皮膚的方法QT編譯
- 如何編寫linux下nandflash驅動-4LinuxNaN
- windows下使用mingw和msvc靜態編譯Qt5.15.xxWindows編譯QT
- Qt 獲取程式編譯時間QT編譯
- Centos 7.6 下Mysql8.0.16編譯安裝CentOSMySql編譯
- 驅動mysqlMySql
- 【C#】C#中使用GDAL3(三):Windows下編譯外掛驅動C#Windows編譯
- Linux驅動開發筆記(三):基於ubuntu的驅動、makefile編寫以及編譯載入流程Linux筆記Ubuntu編譯
- Qt Application Menu In Window and MacQTAPPMac
- Linux驅動實踐:帶你一步一步編譯核心驅動程式Linux編譯
- 3568F-Qt工程編譯說明QT編譯
- CMake編譯Qt工程時的問題編譯QT
- Linux驅動開發: Ubuntu(PC機)系統上編譯驅動並載入測試LinuxUbuntu編譯
- 解決Qt編譯動態連結庫could not find or load the Qt platform plugin "windows" in.問題QT編譯PlatformPluginWindows
- mingw下編譯zlib quazip動態庫編譯
- window下徹底解除安裝mysqlMySql
- 麒麟系統開發筆記(三):從Qt原始碼編譯安裝之編譯安裝Qt5.12筆記QT原始碼編譯
- Qt 中有兩種方式編譯MinGW和MSVCQT編譯
- OpenCV+QT5在Window下的環境配置記錄OpenCVQT
- MySQL的驅動表與被驅動表MySql
- Window 7 驅動數字簽名解決方案
- CentOS6.7下使用cmake編譯安裝MySQL5.5.32CentOS編譯MySql
- Linux下編譯安裝Mysql 5.5的簡單步驟Linux編譯MySql
- Ubuntu 16.04下 Mysql5.7.17原始碼編譯與安裝UbuntuMySql原始碼編譯