Qt5.5.1編譯mysql zip數據庫驅動
轉載自:http://blog.sina.com.cn/s/blog_032253000102v1m0.html
本文針對5.5.1版本更新了下文件版本,和原文方法沒區別
本機環境:
Win7x64
Qt5.5.1源碼 (編譯mysql)
mysql-5.7.10 zip源碼 (32位)
Qtcreator 3.4.2 (集成開發環境)
1. 第一次用數據庫mysql時估計都出現這種問題,QMYSQL driver not loaded,查看
Qt creator安裝目錄D:\Qt5.5.0\5.5\mingw492_32\plugins\sqldrivers得知,qt 5.5.0是自帶mysql驅動的,但是還有問題。只能自己重新編譯。
2. 軟件工具:
1) Qt5.5.1源碼:qt-everywhere-enterprise-src-5.5.1.zip
地址:https://account.qt.io/downloads需要註冊下載
2) mysql-5.7.10: mysql-5.7.10-win32.zip(32位)
mysql官網提供兩種形式,msi和zip,一定下載32位的zip!
(本人使用mysql- 5.7.10.msi選擇full安裝生成的include和lib文件進行mysql驅動編譯會報錯,提示不存在binary_log_types.h,將32位zip中的此文件複製到相同目錄,重新編譯還會出現其他很多奇怪錯誤,不推薦。)
3) Qtcreator:
qt-opensource-windows-x86-mingw492-5.5.0.exe(集成qt 5.5.0和mingw32)
3. 解壓到自定義目錄
本機解壓qt-everywhere-enterprise-src-5.1.1.zip到 D:\qt-everywhere-enterprise-src-5.5.1
解壓mysql-5.7.10-win32.zip到D:\ MySQL-Win32(不用配置mysql就行)
4. 切換到qt源碼目錄,打開如圖所示的mingw32命令提示符,
執行
cd D:\qt-everywhere-enterprise-src-5.5.1\base\src\plugins\sqldrivers\mysql
執行
qmake "INCLUDEPATH+=D:\MySQL-Win32\include" “LIBS+=D:\MySQL-Win32\lib\libmysql.lib" mysql.pro
(原文有用-o Makefile,如果加上“-o Makefile”,插件只能在以release 模式編譯程序時才能使用,所以沒加)
執行mingw32-make
編譯成功後將會在D: \qt-everywhere-enterprise-src-5.5.1\qtbase\plugins\sqldrivers生成mysql的驅動文件.
複製qsqlmysql.dll和qsqlmysqld.dll到
D:\ Qt5.5.0\5.5\mingw492_32\plugins\sqldrivers(Qt creator的安裝目錄)替換原來的文件。
再把D:\mysql-5.7.10-win32\lib\libmysql.dll複製到C:\Windows目錄下。
這樣Qt就可以連接MySQL數據庫了。