Qt Creator编译连接MySQL数据库注意事项

本文详细介绍了在Qt Creator中编译连接MySQL数据库时需要注意的版本和位数匹配问题,包括Qt、Qt Creator、MySQL的版本选择以及编译器与数据库位数一致性。在遇到Drivers Not Loaded错误时,解决方案是添加sqldrivers驱动文件夹和libmysql.dll动态库到项目目录。

1.Qt以及QtCreator版本问题。

QT 是跨平台C++图形用户界面应用程序开发框架,可以简单理解成是一个开发包。

QT Creator 只是一个集成的编译器。

QT SDK 包括Qt库、Qt Creator IDE和Qt工具,这些都集成在一个易于安装的文件包里。

就大小来说Qt<QT Creator< QT SDK。

这是一个可以下载Qt的镜像网站:http://download.qt.io/

在这个网站里,official_release,官方发布版,可以看到

有QtCreator和Qt两个下载选项,这个是QtCreator的选项,里面有window版的x86和x64版本,我们可以看到这个安装包特别的小,因为这就是一个空的QtCreator,安装完是需要自己添加编译器什么的:

这边要提醒注意的是,QtCreator的版本不影响我们后面的与数据库连接,因为我测试了一下,我在Win10的64位系统上安装了QtCreator4.4.1,安装好后发现是基于Qt5.9.3(MSVC 2015,32bit),其实这里写的Based on的是推荐配置,也就是说这个4.4.1的QtCreator推荐配置是基于32bit的进行开发,在安装QtCreator时可以自己选择用什么样的编译器进行编译。

### 配置 Qt Creator 使用 Qt 6.5.3 和 MSVC 编译连接 MySQL 数据库Qt Creator 中使用 Qt 6.5.3 和 MSVC 编译连接 MySQL 数据库,需要完成以下几个方面的配置: #### 1. 安装 MySQL 开发包 确保已安装适用于 Windows 的 MySQL 开发工具包。可以从官方下载页面获取 `mysql-connector-c` 或完整的 MySQL Server 版本中的开发文件。 将 MySQL 库路径添加到系统的环境变量中以便于链接器找到所需的 `.lib` 文件以及头文件位置。 #### 2. 修改项目 .pro 文件 编辑项目的 `.pro` 文件以包含必要的 MySQL 头文件和库文件路径。以下是典型的设置方式: ```plaintext QT += sql core gui widgets CONFIG += c++17 # 设置 MySQL 的 include 路径 INCLUDEPATH += C:/Program Files/MySQL/mysql-8.x/include # 设置 MySQL 的 lib 路径 LIBS += -L"C:/Program Files/MySQL/mysql-8.x/lib" -lmysqlclient ``` 上述路径需替换为实际的 MySQL 安装目录[^2]。 #### 3. 构建自定义驱动程序(可选) 如果默认的 QMYSQL 插件无法正常工作,则可能需要重新构建它来适配特定版本的 MySQL 及其架构支持情况。具体操作如下: ##### 下载源码并打开插件工程 从 Qt 源代码仓库提取 SQL 插件部分,并加载至 Qt Creator 进行修改与重建过程。 ##### 更改编译选项匹配目标平台需求 确认使用的编译器是否一致;例如当采用 Visual Studio 工具链时应保证所有依赖项均基于相同的运行时标准构建而成[^3]。 #### 4. 测试数据库连接功能 编简单的测试代码验证能否成功建立与远程服务器之间的会话实例。 ```cpp #include <QCoreApplication> #include <QtSql/QSqlDatabase> #include <QDebug> bool createConnection() { QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); // 替换为主机名或 IP 地址 db.setDatabaseName("testdb"); // 替换为目标数据库名称 db.setUserName("root"); // 用户名 db.setPassword(""); // 密码 if (!db.open()) { qDebug() << "Error:" << db.lastError().text(); return false; } qDebug() << "Connected!"; return true; } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); if (!createConnection()) return -1; return a.exec(); } ``` 以上脚本展示了如何通过 QSQLDRIVER API 实现基本的功能调用逻辑[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值