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

Posted 天逸笛仙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:

clip_image002

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

2 环境

QT5.6.0 + VS2015

3 编译mysql 64位驱动方法

3.1 qmake -tp vc

3.1.1 打开QT desktop

clip_image004

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

clip_image006

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

clip_image008

3.2.2 附加myslq的库libmysql.lib

clip_image010

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 查看是否成功

clip_image012

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

以上是关于QT5.6.0+VS2015编译MQSQL(ACCESS)X64数据库驱动的主要内容,如果未能解决你的问题,请参考以下文章

VS2013编译Qt5.6.0静态库(乌合之众)

使用Visual Studio 2015开发Qt程序

QT5.6.0无法切换fcitx中文输入法问题记录

qt 环境下mapx组件打包后编译产生c2248和c2512错误

Qt5.6.0+OpenGL 纹理贴图首战告捷

VS2015编译使用Boost库遇到的问题及正确编译使用教程