qt編譯mysql
下載mysql C鏈接庫
選擇C的鏈接庫
2
將C的連接庫解壓到到C:/mysql 目錄下
3
我的QT 安裝在C盤目錄下,版本號是4.8.6 所以打開目錄
C:\QT\4.8.6\src\plugins\sqldrivers\mysql
4
將C:/mysql/lib/libmysql.dll 和C:/mysql/lib/libmysql.lib
復制到此處。
5
編輯目錄下的mysql.pro文件
添加
INCLUDEPATH+="C:/mysql/include"
LIBS+="C:/mysql/lib/opt/libmysql.lib"
運行qt的控制台窗口,方便使用qmake
切換到目錄下
C:\QT\4.8.6\src\plugins\sqldrivers\mysql
執行qmake
運行VS2010的控制台工具
切換到
C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目錄下
執行nmake 和nmake release
是nmake不是make
這樣在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目錄下的debug 目錄和release 目錄下分別會產生
qsqlmysqld4.dll qsqlmysqld4.lib
qsqlmysql4.dll qsqlmysql4.lib
將上面提到的四個文件復制到
C:\QT\4.8.6\plugins\sqldrivers
最後把
C:\mysql\lib\opt\libmysql.dll
C:\mysql\lib\opt\libmysql.lib
復制到
C:\Windows\system32\ 目錄下。
最後測試mysql 可不可以在qt中正常使用
新建一個qt 控制台項目
輸入以下代碼
#include <QCoreApplication>
#include <QDebug>
#include <qstring.h>
#include <qstringlist.h>
#include <qsql.h>
#include <qsqldatabase.h>int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();qDebug() << drivers;return a.exec();
}
運行測試一下,看看有沒有圖片中紅圈圈中的兩項內容
② 【QT】編譯mysql驅動出現問題
看起來你並不是要編譯mysql庫,而是要使用mysql庫啊:
-llibmysql
然後接下來這兩條信息是說沒找到libmysql.dll文件:
c:/qt/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot
find -llibmysql
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysqld4.dll] Error 1
③ qt5.8 for mingw編譯靜態版本時怎麼加mysql
注意編譯器一定要和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
如果出現找不到mysql.h文件就用qtcreator打開mysql.pro文件,配置項目,然後編譯,就會出現錯誤提示,把#include 改成#include ,編譯就行了,或回到命令行再次執行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驅動編譯好了,為什麼寫測試連接資料庫,總是打開資料庫出錯大俠幫忙啊
"test"是表名吧!你要填寫資料庫名稱;mysql應該是默認就有的!
⑤ Qt 訪問mysql
mysql.h確實不是qt的一部分,它是mysql的一部分,你應該是用qt的二進制安裝包安裝的,不是從源碼編譯的吧。在linux下你需要安裝libmysqlclient,在windows下你安裝mysql時就包含了這個文件,你需要的是在gcc的編譯參數中增加"-I<mysql.h所在目錄>",如果是qt,那麼在。pro未見中增加一行INCLUDEPATH += <mysql.h所在目錄>