首页 > 代码库 > QT5.6.0+VS2015编译MQSQL(ACCESS)X64数据库驱动

QT5.6.0+VS2015编译MQSQL(ACCESS)X64数据库驱动

QT5.6.0+VS2015编译MQSQLACCESS)数据库驱动

1 说明

l 不建议QT5.6.0使用ACCESS数据库。如果想使用轻量级的数据库,可以使用Sqlite数据库

QT想要访问Access、SQL Server等数据库可以通过ODBC的方式来访问,但是QT较高版本已不提供ODBC驱动库,需要自己编译。QT5.6.0编译出来的数据库驱动是64位,但是不建议安装Access数据库,微软本身也不建议安装64位office。

PS:为什么QT5.6.0不编译32位数据库驱动:编译数据库卡驱动时,依赖Qt5Sql.lib,该库是64位的,编译32位该库之后,又有其他依赖库需要重新编译,显然缘木求鱼 。

Qt5Sql.lib(Qt5Sql.dll) : fatal error LNK1112: 模块计算机类型“x64”与目标计算机

类型“X86”冲突

l QT5.6.0提供的数据库驱动有Sqlite、MySql、Psql,其他数据库驱动需要自己编译。

参见:C:\Qt\Qt5.6.0\5.6\msvc2015_64\plugins\sqldrivers:

技术分享

l 网上还没有看到能成功编译本地数据库驱动的教程,探索之后,下面以MySql驱动为例介绍:

2 环境

QT5.6.0 + VS2015

3 编译MySql 64位驱动方法

3.1 qmake -tp vc

3.1.1 打开QT desktop

技术分享

3.1.2 进入C:\Qt\Qt5.6.0\5.6\Src\qtbase\src\plugins\sqldrivers\odbc目录,执行qmake -tp vc

C:\Qt\Qt5.6.0\5.6\msvc2015_64>cd C:\Qt\Qt5.6.0\5.6\Src\qtbase\src\plugins\sqldri

vers\mysql

C:\Qt\Qt5.6.0\5.6\Src\qtbase\src\plugins\sqldrivers\mysql>qmake -tp vc

注意:如果没有此目录,请在安装QT5.6.0的时候,选中source,下载源代码。

说明:该指令可以生成.vcproj工程。使用命令行编译的时候,有各种问题,还是转换成VS工程得心应手啊。

3.2 使用VS2015编译打开生成的qsqlmysql.vcxproj

技术分享

3.2.1 设置附加包含目录,包含安装的mysql中mysql.h所在目录。

技术分享

3.2.2 附加myslq的库libmysql.lib

技术分享

3.2.3 生成库

生成的文件:

C:\Qt\Qt5.6.0\5.6\Src\qtbase\plugins\sqldrivers\qsqlmysql.dll

C:\Qt\Qt5.6.0\5.6\Src\qtbase\plugins\sqldrivers\qsqlmysqld.dll

3.2.4 拷贝到QT数据库驱动插件目录

目标目录:C:\Qt\Qt5.6.0\5.6\msvc2015_64\plugins\sqldrivers

3.2.5 查看是否成功

技术分享

3.3 调用Mysql,网上资料很多,略。

QT5.6.0+VS2015编译MQSQL(ACCESS)X64数据库驱动