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 ,点击终端:

MSVC终端.png

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 了 ^_^


文章作者: Amelie
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 个人技术心得
编程 Qt 编程 Qt
喜欢就支持一下吧