windows平台qt32 mysql驱动为例,数据库驱动模块的编译
2021/12/28 19:12:04
本文主要是介绍windows平台qt32 mysql驱动为例,数据库驱动模块的编译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
qt32 mysql驱动为例,数据库驱动模块的编译
环境
-
qt版本5.14.0。
-
具体步骤以qt文档为主,网络博客参考为辅。
-
编译器的位数和mysql的位数必须一致,因为mysql源码采用两种位数来写,所以为演示32位,在此采用编译器为msvc32,mysql源码为mysql-connector-c-6.1.11-win32.zip;
-
其中msvc32不能使用qt中阉割过的编译器,其中没有nmake工具,qt平台采用的是qmake。所以需要单独下载msvc32,可以安装微软vs来。
-
mysql源码下载地址MySQL :: Download MySQL Connector/C (Archived Versions)。源码必须使用connector c,不能是c++等,这些由qt助手文档得来。但我也尝试过了mysql8安装下来的server,c++等,可能是位数问题,皆未成功。不过应该只要位数解决,也能成功。只要含有所需文件:
-
<MySQL dir>/lib/libmysql.lib <MySQL dir>/lib/libmysql.dll <MySQL dir>/include/mysql.h
部分源码文件修改
-
Qt\Qt5.14.1\5.14.1\Src\qtbase\src\plugins\sqldrivers中的qsqldriverbase.pri
-
QT = core core-private sql-private # For QMAKE_USE in the parent projects. #include($$shadowed($$PWD)/qtsqldrivers-config.pri)//删除这个 include(./configure.pri)#增加这个 PLUGIN_TYPE = sqldrivers load(qt_plugin) DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
-
Qt\Qt5.14.1\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql中的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 PLUGIN_CLASS_NAME = QMYSQLDriverPlugin include(../qsqldriverbase.pri) #32bit,此位置是我解压下载的mysql32 zip文件之后所得,libs必须将文件带上,不能只写成目录。 INCLUDEPATH += "D:\MySQL\mysql-connector-c-6.1.10-win32\include" LIBS += "D:\MySQL\mysql-connector-c-6.1.10-win32\lib\libmysql.lib" DESTDIR = ../mysql/mysqlDll
命令执行
打开“VS 2017的开发人员命令提示符“的cmd,里面配置有这个编译器的环境,可以直接用nmake,然后步骤如下:
cd D:\Applications\Qt\5.14.1\Src\qtbase\src\plugins\sqldrivers\mysql D:\Applications\Qt\5.14.1\msvc2017\bin\qmake.exe -- MYSQL_INCDIR="D:\MySQL\mysql-connector-c-6.1.10-win32/include" MYSQL_LIBDIR="D:\MySQL\mysql-connector-c-6.1.10-win32/lib/libmysql.lib" nmake nmake install
最后将D:\MySQL\mysql-connector-c-6.1.10-win32/lib/libmysql.dll文件拷贝到D:\Applications\Qt\5.14.1\msvc2017\bin目录下即完成。
所见问题及参考
Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isn’t set
看(64条消息) Qt 创建项目或打开项目出现:Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isn’t set 解决办法_青春 不留遗憾~-CSDN博客
参考博客:qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 - №点缀 - 博客园 (cnblogs.com)
这篇关于windows平台qt32 mysql驱动为例,数据库驱动模块的编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-16MySQL资料:新手入门教程
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程