Qt5.12编译MySQl5.1.37驱动
1. Qt使用mysql常見問題
在使用Qt連接mysql數據庫的時候,遇到過這樣的報錯,做一下記錄和總結。
報錯如下:
? ? ? ?(1)QSqlDatabase: QMYSQL driver not loaded
(2)QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
Qt、Mysql編輯器版本背景:
? Qt版本是5.1.37,編譯器是MSVC2015_64,是x64位。
? mysql版本是5.1.37-winx64,也是x64位。
問題解析:
Qt目錄里缺失了和Mysql的連接插件qsqlmysql.dll。在這種情況下,單純地將Mysql目錄下的lib文件夾下的libmysql.dll復制到Qt的目錄下的bin目錄下是無用的。詳見《Qt學習筆記之MySQL數據庫_浩瀚之水的專欄-CSDN博客》
2. 下載5.1.37相關庫
查看mysql版本信息,進入mysql,輸入命令:show variables like '%version_%';
下載對應的版本數據庫:?
MySQL :: MySQL Product Archives
3. 安裝Qt5.12
注意:安裝Qt5.12的時候選擇Qt的編譯器和Qt源碼
4. 編譯MySQL源碼項目
Qt5.12安裝目錄如下
C:\Qt\Qt5.12.2\5.12.2\Src\qtbase\src\plugins\sqldrivers\mysql雙擊打開mysql.pro,進入Qt creator編譯器界面,添加下面的三行代碼:
INCLUDEPATH +=C:/mysql-5.1.37winx64/include/ ?# 添加你自己的mysql安裝目錄下的include文件夾
LIBS += C:/mysql-5.1.37-winx64/lib/libmysql.lib # 添加你的mysql安裝目錄下的lib文件夾下的libmysql.lib文件
?然后進行構建,就是界面左下角的錘子,這時會出現如下的兩個錯誤:
Cannot read H:/qtsqldrivers-config.pri: No such file or directory解決方法: 在目錄E:\Qt\5.12.9\qtbase\src\plugins\sqldrivers下找到configure.pri這個文件,那么我們就把原來需要qtsqldrivers-config.pri的地方注釋掉,改成configure.pri。打開qsqldriverbase.pri文件,將第四行注釋掉,即#include($ $shadowed($ $PWD)/qtsqldrivers-config.pri),然后添加include(./configure.pri)。 Project ERROR: Library 'mysql' is not defined 解決方法:注釋#QMAKE_USE += mysql編譯過程中出現如下問題
遇到問題:error: You need to set an executable in the custom run configuration.不用管當前項與Qt安裝文件夾同級的plugins 文件夾 就是編譯好的 驅動文件夾:將生成的plugins文件夾下的qsqlmysql.dll文件拷貝到C:\Qt\Qt5.12.9\5.12.9\msvc2015_64\plugins\sqldrivers文件夾下?
5. 編譯之后得到對應的庫
默認編譯庫在c:\plugins\sqldrivers\
將qsqlmysql.dll和qsqlmysqld.dll拷貝到Qt的安裝目錄下C:\Qt\Qt5.12.9\5.12.9\msvc2015_64\plugins\sqldrivers。
并且也要將自己的mysql安裝目錄下的lib文件夾下的libmysql.dll,復制到qt的編譯器的bin目錄下?
6. 測試
詳見《Qt操作MySQL數據庫練習(20200216)_浩瀚之水的專欄-CSDN博客》
?
?
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Qt5.12编译MySQl5.1.37驱动的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打印机一直无法连电脑怎么办 打印机无法连
- 下一篇: VS2015编译Poco+openssl