文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Qt6.4.2连接Mysql

2023-09-01 19:28

关注

qt6没有mysql驱动,需要自己编译,那是相当之坑啊。

qt6的mysql驱动编译源码中,没有pro,只能用cmake进行编译

但是用了cmake-gui.exe使用了mingw和vs环境进行编译都编译失败

后来坑了一整天,终于搞定了,现分享给大家。

下载qt6.4.2已经编译好的lib,并复制到相应位置

我用的是mysql8.0

使用这个链接下载(如果不是6.4.2,你可以自己在github上搜索相应的版本进行下载)

Release QMYSQL driver 6.4.2 · thecodemonkey86/qt_mysql_driver · GitHub

下载完解压缩后:

libcrypto-1_1-x64.dll,libmysql.dll,libssl-1_1-x64.dll这3个文件复制到D:\Qt\6.4.2\mingw_64\bin文件夹中

再将解压缩后中的sqldrivers的两个mysql驱动文件复制到D:\Qt\6.4.2\mingw_64\plugins\sqldrivers

代码调整

在你自己工程源码的cmakelists中

调整这行find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets Sql),其实就是加了Sql这三个字符

加入另一行target_link_libraries(test_mysql PRIVATE Qt${QT_VERSION_MAJOR}::Sql)

然后在自己工程的cpp文件中加入

#include#includevoid MainWindow::on_pushButton_clicked(){    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");    db.setHostName("127.0.0.1");  //连接本地主机    db.setPort(3306);    db.setDatabaseName("db_name");    db.setUserName("root");    db.setPassword("root");    bool ok = db.open();    if (ok){         qDebug() << "link success";    }    else {         qDebug() <<  "link failed";    }}

测试输出link success,连接成功。

坑死我也,,,希望大家在这个坑点节省时间

来源地址:https://blog.csdn.net/laomengnevergiveup/article/details/128848214

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯