QT5+VS2017+Mysql5.5

1.版本软件

QT:qt-opensource-windows-x86-5.9.5.exe,qt-opensource-windows-x86-5.12.1.exe(为什么会有两个,主要是因为我懒。。。后面详细说明)

VS:Visual Studio 2017

mysql:mysql+for+windows%28mysql-5.5.22-win32%29.msi,Navicat for MySQL_11.2.15.exe

2.安装

这里我首先安装了qt-opensource-windows-x86-5.9.5.exe,里面有mingw53_32,msvc2015_64,msvc2017_64三个。

QT5+VS2017+Mysql5.5_第1张图片

Qtcreate中使用第一个,后面两个分别对应VS2015,VS2017的64位库文件。因为是随便找的三个版本,事前没有做调查,所以出了很多问题。QT的安装没有太多问题,百度一下就可以随便解决。

然后安装了VS2017,安装完成后,在VS2017上添加Qt的插件,如下图

QT5+VS2017+Mysql5.5_第2张图片

一开始是安装不上,出下面的问题

(1)加载插件失败,让我去看ActivityLog.xml文件。

解决方法:VS右上角的消息里面,有一个更新,更新后,再加载就好了。

QT5+VS2017+Mysql5.5_第3张图片 

之后配置QT

QT5+VS2017+Mysql5.5_第4张图片

将前面QT安装后的msvc2017的文件夹选中即可。

再来安装mysql,这个也没什么好说的,只是装之前没有注意版本,后面发现安装的是32位的。

安装 Navicat for MySQL_11.2.15.exe后,出现第二个麻烦的问题(当时很蒙蔽)

(2)mysql数据库IDE的左边没有显示连接的数据库信息,虽然连接成功了

QT5+VS2017+Mysql5.5_第5张图片

解决方法:(查看里面,选择连接树就好了,简直不要太简单,但是当时还是重装了一次Navicat...)

 QT5+VS2017+Mysql5.5_第6张图片

到这软件就全部装好了,后面才是出问题的时候。

3.问题 

1.VS上新建QT项目代码后,编译不了。需要选择刚刚添加的库文件包msvc2017_64

QT5+VS2017+Mysql5.5_第7张图片QT5+VS2017+Mysql5.5_第8张图片

2.添加数据库,但是提示无法打开源文件“QSqlDatabase”,虽然我已经在pro文件中添加了QT +=sql,但是没有用

Qt\Qt5.9.5\5.9.5\msvc2017_64\bin下对应的libmysql.dll等库文件也是存在的,但是就是找不到。

QT5+VS2017+Mysql5.5_第9张图片

解决方法:还是Qt Project Settings需要设置,Qt Modeules下的SQL默认是不勾选的,需要勾选上就可以。

其他的头文件,其实也是一样的原理。

QT5+VS2017+Mysql5.5_第10张图片 

3.连接数据库

在VS上一直连接不上,我就在Qt create上去尝试,一开始爆出的错误信息是 

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

后面百度发现是因为:Qt\Qt5.9.5\5.9.5\mingw53_32\bin下面没有libmysql.dll 

把数据库里面的libmysql.dll文件复制过去,QtCreate那边运行数据库就好了。

4.最难得VS2017连用QT代码连接数据库(能把我气死)

一开始只是爆出无法连接,后来改了一下代码

            QMessageBox::critical(0, QObject::tr("无法打开数据库"),db.lastError().databaseText(), QMessageBox::Cancel);

然后打出了错误信息,如下:

driver not loade

也是搜索了很久,后来发现是因为mysql是32的,安装的QT的msvc2017是64位的。。。。。。关键是我安装的这个QT版本里面没有msvc2017_X86(32位)的,奔溃。。。。

在网上搜了很久msvc2017_X86,有一位老哥(出处:https://www.cnblogs.com/woniu201/ ),提供了免费的他编译好的msvc2017_X86文件包,但是下载下来后使用了才发现,还是不行。为什么呢???

他是Qt5.9.7的,我是5.9.5的。。。真的是吐血,和我原有的文件那些对不上。爆出了更多错误。

没办法,最后下载了qt-opensource-windows-x86-5.12.1.exe。里面有msvc2017_X86(32位)。所以相当于安装了两个版本的QT,其实不用装两个Qt,只需要重新装VS2015就好了,QT的2015的64位和32位都是有的。但是VS太大,太浪费时间。。所以还是算了吧。。。。

总结

今天真的是能把人气死,出了一大堆问题。不过记忆很深刻。现在在公司做的项目也是这样一个配置(除了数据库不太一样),所以想在家还可以把公司没想通的跑一跑,之气都是大佬给弄好,只要按着步骤一步一步点就好了,自己从头搞一次还是蛮有收获的。

以后想要搭配环境一定要先查好版本,以及对应版本支持的东西。不然真的是很难受。还有很多安装上的,运行上的小问题,记得都不是很清晰了。不过以后在遇到,应该很快就能想起来了。

你可能感兴趣的:(C/C++,QT)