前言
之所以写这篇文章,是由于本人被这个环境配置搞得心态搞炸了,网上的教程层出不穷,我也坚信很多还没有配置出来的小伙伴一定是照着有些教程一步一步来的,但就是死活不行,别人就行,自己的就不行。
不说废话了,直接上教程。
首先要确定你的Mysql和你的Mingw的位数是对的上的,要是32都是32,要是64都是64
第一步:
前面几步和大多数博主所教的一样。
首先找到自己Qt目录下的mysql
文件夹(最好把路径复制下来,便于找到这个文件夹),然后用Qt Creater
打开这个文件夹
第二步:
打开之后点击项目,把这个shadow build给关闭了(第一张图是我配置好之后截取的,所以路径可能和第二张图有点对不上)
第三步:
点击mysql.pro文件,应该是这样的
第四步:
注释掉
到此为止,上面操作应该和绝大多数教程一样,可能别的教程没有关闭shadow build这一步,无所谓。下面就是要导入外部库的路径了,其实我觉得大多数人错也就是错在这一步,我觉得不要自己去写外部库的路径。网上的路径写法一大推,我随便举几个例子:
#使用反斜杠,仅适用于Windows平台,其它平台可能会出错
LIBS += “E:\MySQL\MySQL _Server_8.0\lib\libmysql”
LIBS += “E:/MySQL/MySQL _Server_8.0/lib/libmysql”
#不使用引号,当路径中出现空格时可能会出错
LIBS += E:\MySQL\MySQL _Server_8.0\lib\libmysql
LIBS += E:/MySQL/MySQL _Server_8.0/lib/libmysql
#还有使用L和l的,L指代路径,l指代库名
-L"E:/MySQL/MySQL _Server_8.0/lib" -llibmysql
等等等等,网上教程写的五花八门
Qt Creater
提供了导入外部库的操作,为什么我们非要自己写呢?
第五步:
右键项目,点击添加库
选择外部库
然后点击下一步
第六步:
取消勾选平台下的Linux
和Mac
第七步:
点击库文件这一行所对应的浏览,选中自己mysql(不是Qt中的mysql文件夹)中的libmysql.lib文件,打开
第八步:
添加你的mysql所对应的include目录,然后可以得到
第九步:
将Windows下的为debug版本添加‘d’作为后缀取消勾选,然后点击下一步
点击完成,就会自动添加如下代码,我这是相对路径,不过没事,只要编译文件的时候它能找到这个库文件就行
第十步:
也可以在添加上DESTDIR = path,这样就可以指定你的库文件生成的路径,不加也行。
到这里pro文件搞好了,点击qsqldriverbase.pri文件,初次进去应该如下
将include($$shadowed($$PWD)/qtsqldrivers-config.pri)注释,添加include(./configure.pri)
第十一步:
这样文件应该是改好了,选择release点击编译,也就是小锤子
这时就会看到和自己Qt同级文件夹下生成了一个plugins文件夹
第十二步:
点开就会发现
第十三步:
将这三个文件复制到自己Qt下的sqldrivers文件夹下,这里我已经添加过了
第十四步:
打开自己的mysql文件夹,将这两个文件复制到Qt的mingw的bin目录下
复制完成后如下
测试:
这样所有配置就完成了,可以测试一下,新建工程在工程pro文件中添加
在main文件中写入
#include <QApplication>
#include <QDebug>
#include <QSqlDatabase>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//MainWindow w;
qDebug() << QString("支持的驱动:");
QStringList drivers = QSqlDatabase::drivers();
foreach (QString driver, drivers) {
qDebug()<<driver;
}
return a.exec();
}
运行结果
到这里就完结,撒花。