Qt数据库驱动编译(MySQL)

proer-blog 2024-08-26 08:09:24 阅读 84

Qt数据库驱动编译(MySQL)

哈喽!我是 Pro_er,一名热爱编程的小伙伴。在这里我会分享一些实用的开发技巧和经验心得。如果你也对编程充满热情,欢迎关注并一起交流学习!

第一步:安装所需文件

<code>/**

* 注意 Qt和MySql的位数要相同都为64或者32位

* Qt 安装的时候一定要安装源码(Sources)不然没办法编译

* 安装就靠你自己啦,相信你可以的 :)

*/

1. Qt下载地址:https://www.qt.io/zh-cn/product/development-tool

2. MySQL下载地址:https://dev.mysql.com/downloads/

第二步:当下载安装好之后就可以开始编译啦

1. 打开你安装的Qt文件目录然后在(D:\C++Software\QT\6.6.3\Src)文件下将qtbase文件夹拷贝到一个新的空文件夹下面。

注意:D:\C++Software\QT\6.6.3\Src路径是我自己的,你的按照你的安装目录的实际情况,空文件夹位置随意

拷贝到新的文件夹下如图

2. 将MySQL安装目录下的<code>include和lib文件夹拷贝到一个新的空文件夹下面

空文件夹位置随意

3. 打开新拷贝文件夹<code>qtbase下的(\qtbase\src\plugins\sqldrivers)目录,找到CMakeLists.txt文件,然后使用Qt Creator打开txt文件

打开之后选择套件

4. 完成之后点击.cmake.conf在其中添加下面三行代码

<code>/**

* SET(FEATURE_sql_mysql ON)

* SET(MySQL_INCLUDE_DIR "刚才复制的include文件夹的路径")

* SET(MySQL_LIBRARY "刚才复制的lib文件夹的路径/libmysql.lib")

*/

SET(FEATURE_sql_mysql ON)

// 这里放的include的路径是你自己上面新拷贝的include的路径

SET(MySQL_INCLUDE_DIR "D:/QtMysqlCompile/mysqlFile/include")

// 这里放的lib的路径是你自己上面新拷贝的lib的路径

SET(MySQL_LIBRARY "D:/QtMysqlCompile/mysqlFile/lib/libmysql.lib")

5. 添加好之后保存,然后点击编译

这样即为编译成功

6. 编译成功之后将下面路径中的<code>qsplmysql.debug和qsqlmysql.dll文件进行复制

\qtbase\src\plugins\sqldrivers\build\Desktop_Qt_6_6_3_MinGW_64_bit-Debug\plugins\sqldrivers

7. 将复制到的文件粘贴到下面路径的sqldrivers目录下

D:\C++Software\QT\6.6.3\mingw_64\plugins\sqldrivers(注:使用自己软件的安装目录)

8. 将自己MySQL安装目录下的lib目录中的 libmysql.dlllibmysql.lib文件复制

9. 将复制的文件粘贴到下面路径的bin目录下

D:\C++Software\QT\6.6.3\mingw_64\bin(注:使用自己软件的安装目录)

恭喜你,你已经完成对MySQL驱动的编译和添加啦

第三步:就可以查看一下你的Qt是否有MySQL的驱动啦

1. 打开Qt Creator,新建一个控制台项目

2. 在.pro文件中添加字段

QT += sql

3. 编写代码查看驱动列表

在代码中一定要记得加入QSqlDatabase头文件哦

<code>#include <QCoreApplication>

#include <QSqlDatabase>

#include <QDebug>

int main(int argc, char *argv[])

{

QCoreApplication a(argc, argv);

QStringList list = QSqlDatabase::drivers();

foreach (QString item, list) {

qDebug() << item;

}

return a.exec();

}

构建,运行就可以查看驱动列表了,可以看到已经加入了MYSQL的驱动

以上就是这次的所有内容啦,希望能对小伙伴有所帮助。如果小伙伴有任何想法或建议,欢迎留言讨论。感谢阅读,我们下次再见,byebye~



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。