QT5.15.2编译MySQL8.x 驱动

        接收了别人的代码,相关工程是用QT5.9开发的,因为有些dll第三方提供的时候是x86 32位版本,后续因为要在QT中通过QtWebEngine组件加载H5页面,相关语法要求对应的QtWebEngine浏览器内核得在80以上,所以就将整个Qt工程升级到了QT5.15.2 64位版本。结果,升级后MySQL驱动即最终可执行程序目录sqldrivers\qsqlmysql.dll 文件不匹配,导致数据库连接失败。

        因此,小菜鸟拾起多用不用的少得可怜的C++技能和QT技能开始尝试编译QT源码中的MySQL驱动。主要几个步骤如下:

1.QT源码中MySQL驱动工程改造

2.在Visual Studio2022中引用MySQL8.x安装目录中的库文件和.lib文件

1.QT源码中MySQL驱动工程改造

1.1MySQL驱动源码工程文件查找

        我个人QT安装目录如下:

1.2修改mysql.pro工程文件

        打开工程文件对其做修改

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#QMAKE_USE += mysql

OTHER_FILES += mysql.json

WIN32:
INCLUDEPATH += C:/Program Files/MySQL/MySQL Server 8.0/include
LIBS += -LC:/Program Files/MySQL/MySQL Server 8.0/lib -llibmysql
DEPENDPATH += C:/Program Files/MySQL/MySQL Server 8.0/include
PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

注意:

        (1)注释QMAKE_USE += mysql

        (2)指定MySQL安装目录下的include、lib目录(根据自己实际情况设置对应的目录)

        (3)低版本MySQL在mysql.pro文件中 LIBS 使用 

LIBS += -LC:/Program Files/MySQL/MySQL Server 8.0/lib -llibmysql

         (4)MySQL8.x版本的数据库在mysql.pro文件中LIBS使用

LIBS += -LC:/Program Files/MySQL/MySQL Server 8.0/lib -lmysqlclient

2.在Visual Studio2022中引用MySQL8.x安装目录中的库文件和.lib文件

        有时候因为兼容性问题,在.pro工程文件中修改相关include和lib目录后使用VS 下的Qt tool  插件加载 ,对应的目录编译时提示找不到某些.h头文件,因此粗暴的将对应目录加到vc项目属性中

将要引用的lib文件也加到项目中,有时候“附加依赖项”中会出现以下目录,编译时提示找不到文件或者目录,将其删除。只添加mysqlclient.lib文件即可。

最后选择x64编译即可。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值