如何使用Qt6在windows上安装QMYSQL包连接MySQL

如何在windows上安装QMYSQL包

参考文章:

Qt官网文档

QMYSQL driver not loaded 原因以及办法(附驱动)-CSDN博客

事情原因:

本人在使用windows的qt连接mysql的时候出现了错误,错误信息如下:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QPSQL
mysql连接失败

解决方法如下:

  • 首先安装MySQL
  • 特别注意,安装路径中一定不要有空格,否则后面的编译会出错
  • 安装好之后找到MySQL以下文件所在的位置

/lib/libmysql.lib
/lib/libmysql.dll
/include/mysql.h

注意:

从MySQL 8.0.19开始,C连接器不再作为独立的可安装组件提供。相反,您可以通过安装完整的mysql Server(仅x64)或MariaDB C连接器来获得mysql.h和libmysql.*。

  • 按照如下方式安装包

这里假设 是 C:\mysql-8.0.22-winx64

 mkdir build-sqldrivers
 cd build-sqldrivers

 qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DMySQL_INCLUDE_DIR="C:\mysql-8.0.22-winx64\include" -DMySQL_LIBRARY="C:\mysql-8.0.22-winx64\lib\libmysql.lib"

本人的第三条命令如下:

qt-cmake -G Ninja -DCMAKE_MAKE_PROGRAM=F:\System\QT\Tools\Ninja\ninja.exe F:\System\QT\6.5.3\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=F:\System\QT\6.5.3\mingw_64 -DMySQL_INCLUDE_DIR="D:\Program_Files\MySQL\MySQL-Server-8.0\include" -DMySQL_LIBRARY="D:\Program_Files\MySQL\MySQL-Server-8.0\lib\libmysql.lib"
  • 接着用运行
cmake --build .
  • 然后运行
cmake --install .
  • 将plugin的驱动程序复制到对应目录下

将qsqlmysql.dll和qsqlmysqld.dll拷贝到Qt的安装目录下。F:\qt\5.9\mingw53_32\plugins\sqldrivers

将mysql中的libmysql.dll复制到Qt的安装目录中。F:\qt\5.9\mingw53_32\bin

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows 上,将 Qt 程序连接MySQL 数据库进行打需要注意以下几个步骤: 1. 安装 MySQL Connector/C++ 驱动程序:你需要从 MySQL 官网下载并安装 MySQL Connector/C++ 驱动程序。在安装过程中,请确保选择与你的 Qt 版本和操作系统相对应的版本。 2. 将 MySQL Connector/C++ 驱动程序添加到 Qt 项目中:在 Qt Creator 中打开你的项目,然后在项目的 .pro 文件中添加以下行: ``` INCLUDEPATH += C:/Program Files/MySQL/Connector C++ 8.0/include LIBS += -LC:/Program Files/MySQL/Connector C++ 8.0/lib64/vs14 -lmysqlcppconn8 ``` 注意:这里的路径和库文件名称需要根据你的安装路径进行修改。 3. 在代码中添加连接MySQL 数据库的代码:在你的 Qt 代码中添加连接MySQL 数据库的代码。例如: ``` #include <QSqlDatabase> #include <QSqlQuery> QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("mydatabase"); db.setUserName("myusername"); db.setPassword("mypassword"); if (db.open()) { QSqlQuery query; query.exec("SELECT * FROM mytable"); } ``` 4. 编译和打:在 Qt Creator 中编译你的项目并生成可执行文件。然后,你可以使用 Qt Creator 或其他打工具(如 Inno Setup)将可执行文件和所需的 DLL 文件打到一个安装程序中。 总的来说,将 Qt 程序连接MySQL 数据库进行打需要的步骤与没有连接数据库的打方法相似,但需要额外添加 MySQL Connector/C++ 驱动程序和连接数据库的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值