Qt6没有Mysql驱动,需要自己编译,那是相当之坑啊。 qt6的mysql驱动编译源码中,没有pro,只能用cmake进行编译 但是用了cmake-gui.exe使用了mingw和vs环境进行编译都编译失败 后来坑了一整天,终于搞定了,现
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
--结束END--
本文标题: Qt6.4.2连接Mysql
本文链接: https://www.lsjlt.com/news/389321.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0