打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Qt5.4.1和MySQL的环境搭建
2017.10.15 10:52:26字数 830阅读 717

Qt作为跨平台app开发的主要工具和语言,应用非常的广泛。而在数据库方面MySQL则受到用户的青睐。那么如何将这两个结合起来进行项目开发呢?直接安装各自的软件包是否可以使用呢?很遗憾,此法不通!!!即使Qt5以后的版本中自带有Mysql的驱动,但还是不能正常加载的,会提示如下错误信息:

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QPSQL QPSQL7 "Driver not loaded Driver not loaded"

解决办法就是:下载源码,重新在自己的电脑环境下编译MySQL,生成所需要的库文件(驱动)。


一、所需要的软件及下载地址

1、Qt Creator

文件:qt-opensource-windows-x86-mingw491_opengl-5.4.1.exe

地址:http://download.qt.io/archive/qt/5.4/5.4.1/

2、Qt源码

文件:qt-everywhere-opensource-src-5.4.1.zip

地址:http://download.qt.io/archive/qt/5.4/5.4.1/single/

3、MySQL

文件:Mysql5.5.30

地址:http://pan.baidu.com/s/1jIqBLVS


二、安装

1、安装Qt Creator

  这个比较简单,直接默认路径安装即可,安装完成后的软件信息如下:

2、安装MySQL

      这里切记的有个问题:一定要选择Custom,才可以自定义安装目录。为什么一定要自定义安装目录呢,原因很简单,由于默认的安装目录为:C:\Program Files,路径中存在空格,这会导致后面Qt中使用MySQL失败。所以选择Custom自定义安装目录。

这里我使用的是C:\MySQL\MySQL Server 5.5\

之后一路next,并完成MySQL的配置,所有全部选择默认即可。


三、编译Qt源码

1、我们先找到QT安装包里面自带Mingw工具集命令窗口。开始菜单中可以找到。

2、右键管理员的方式运行。使用cd命令进入到QT源文件的带有mysql.pro文件的目录(我的解压后放在了下面的目录里):

cd C:\Qt\qt-everywhere-opensource-src-5.6.0\qtbase\src\plugins\sqldrivers\mysql

3、执行Qmake ,生成Makefile,以及生成mysql库的源文件。

qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\libmysql.lib" -o Makefile mysql.pro

4、执行mingw32-make命令

在C:\Qt\qt-everywhere-opensource-src-5.4.1\qtbase\plugins\sqldrivers这个目录下会生成我们Qt所需要的mysql数据库文件

5、将上面生成的文件全部复制到下面目录内:

C:\Qt\Qt5.4.1\5.4\mingw491_32\plugins\sqldrivers

6、把C:\MySQL\lib\libmysql.dll复制到C:\Windows目录内

大功告成。下面就来测试下吧!

测试代码:

在Qt工程文件中添加:QT+=sql,头文件包含#include <QSqlDatabase>,添加如下代码:

如果你还没有建立自己的数据库,那么注释掉d.setDatabaseName("dbName");这个语句,就可以连接成功了。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Qt5.01 + MinGW4.7 部署发布程序出现的问题
Windows环境下利用Qt连接MYSQL数据库 - Mysql[便宜的爱],admin,
Window 环境 MinGW32 + GCC 4.8.1 绿色版 Qt 4.8.5 开发环境
QSqlDatabase: QMYSQL driver not loaded but available
QT5中如何使用QFtp类
qt+opencv3.0配置详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服