Qt 编译 MySQL 数据库驱动
Qt 编译 MySQL 数据库驱动
前言
教程来自 https://doc.qt.io/qt-5/sql-driver.html
本教程假定读者已安装 Qt
下载并安装 MySQL Connector C
在 Qt 安装目录 \5.13.2\Src\qtbase\src\plugins\sqldrivers
下,打开 cmd ,运行以下指令:
qmake -- MYSQL_INCDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/include" MYSQL_LIBDIR="C:/Program Files/MySQL/MySQL Connector C 6.1/lib"
输出:
Info: creating stash file D:\Develop\Qt5.12.12\5.12.12\Src\qtbase\src\plugins\sqldrivers\.qmake.stash
Running configuration tests...
Checking for DB2 (IBM)... no
Checking for InterBase... no
Checking for MySQL... yes
Checking for OCI (Oracle)... no
Checking for ODBC... yes
Checking for PostgreSQL... no
Checking for SQLite (version 2)... no
Checking for TDS (Sybase)... no
Done running configuration tests.
Configure summary:
Qt Sql Drivers:
DB2 (IBM) .............................. no
InterBase .............................. no
MySql .................................. yes
OCI (Oracle) ........................... no
ODBC ................................... yes
PostgreSQL ............................. no
SQLite2 ................................ no
SQLite ................................. yes
Using system provided SQLite ......... no
TDS (Sybase) ........................... no
Qt is now configured for building. Just run 'mingw32-make'.
Once everything is built, you must run 'mingw32-make install'.
Qt will be installed into 'D:\Develop\Qt5.12.12\5.12.12\mingw73_64'.
Prior to reconfiguration, make sure you remove any leftovers from
the previous build.
注意 如果 MySql 显示为 no ,排错后需要先删除 qmake 生成的缓存文件,之后再运行 qmke 指令进行生成,否则输出结果 MySql 会一直显示为 no 。
如何删除 qmake 生成的缓存文件
\5.12.12\Src\qtbase\src\plugins\sqldrivers
目录下最新日期时间的文件和目录为缓存文件,全部删掉。不用进入子目录去查找,只需在
sqldrivers
目录下操作即可。
MinGW 编译器
执行命令:
mingw32-make
mingw32-make instal
此时 Qt 已经安装好数据库驱动。
查看编译生成的库文件:
打开 Qt 安装目录 \5.12.12\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers
,存有以下文件:
libqsqlmysql.a
libqsqlmysqld.a
qsqlmysql.dll
qsqlmysqld.dll
并且库文件已被 mingw32-make instal
命令安装到 \5.12.12\mingw73_64\plugins\sqldrivers
目录下。
MSVC 编译器
打开 开始菜单 - 所有程序 - Visual Studio
,点击终端:
cd
到源代码目录(\5.13.2\Src\qtbase\src\plugins\sqldrivers
),执行:
nmake
nmake install
把 C:\Program Files\MySQL\MySQL Connector C 6.1\lib
中的
C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.dll
C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib
(可能不用复制这个文件)
复制到 \Qt5.12.12\5.12.12\<目标编译器>\bin
目录中。
结尾
这样就可以在 Qt 中使用 MySQL 了 ^_^