Qt5.14编译mysql
第一步:
- 安装mysql(略)
- 安装Qt(略)
第二步:
打开Qt文件,找到mysql项目
第三步:
确定编译器,我这里是MSVC2017 64bit,如果是MinGW要用MinGW编译
第四步:
- 修改pro。注释第六行,不然提示找不到mysql;添加以前安装好的MyQSL文件夹下的动态库和头文件,并且添加输出位置(DESTDIR = &&PWD/MySQLDLL)
- 修改qsqldriverbase.pri。我这里提示找不到configure.pri,所以注释掉第四行,并且添加第六行输入正确configure.pri位置
第五步:
可以看到多了一个文件夹,将里面的两DLL拷贝出来
PS:我后面用MinGW编译变成这个样子,我鬼使神差吧debug后缀的文件改成了qsqlmysqld.dll,然后可用。。。。。
第六步:
将两DLL放入下图文件夹(放入MinGw在上图)
第七步:
将MySQL文件夹中的libmysql.dll拷入bin文件夹(MinGW编译的拷入MinGW的bin文件夹)
第八步:
- 测试,我这里用Navicat连接数据库(myemployees存在)
- 代码连接数据库myemployees并添加表格ttt(乱按的名字,别在意)
1 #include "mainwindow.h" 2 #include <QApplication> 3 #include<QSqlDatabase> 4 #include<QSqlError> 5 #include<QSqlQuery> 6 #include<QDebug> 7 8 int main(int argc, char *argv[]) 9 { 10 QApplication a(argc, argv); 11 12 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); 13 qDebug()<<QSqlDatabase::drivers(); 14 15 db.setHostName("127.0.0.1"); 16 db.setUserName("root"); 17 db.setPassword("root"); 18 db.setDatabaseName("myemployees"); 19 20 if(!db.open()) 21 qDebug()<<"warning!"; 22 23 QSqlQuery query; 24 query.exec("create table ttt(id int primary key auto_increment, name varchar(255), age int, score int);"); // 添加表格 25 26 MainWindow w; 27 w.show(); 28 return a.exec(); 29 }
没有报错 ,再来看看Navicat增加了数据库ttt
完成。。。。。