首页 热点资讯 义务教育 高等教育 出国留学 考研考公

qt5.8 for mingw编译静态版本时怎么加mysql

发布网友 发布时间:2022-04-27 04:28

我来回答

2个回答

懂视网 时间:2022-04-07 18:44

推荐:《mysql视频教程》

qt5.8连接mysql数据库

Qt Creator下连接mysql的解决办法。下面以qt5.8.0、mysql5.7.18为例。

准备工作

1.qt5.2版本以上,默认都有mysql的驱动,我们可以在(如:D:QtQt5.8.05.8mingw53_32pluginssqldrivers)下面找到mysql的驱动。如果没有驱动的话,那么就要自己编译生成了。

2.下载mysql(qt找不到mysql的库文件) 库的文件名为“libmysql.dll”,这个库文件应该放在Qt的bin文件夹下(例:D:QtQt5.8.05.8mingw53_32in) 这个文件一般在mysql的lib目录下。

测试代码

#include "mainwindow.h"
#include <QApplication>
#include <QtSql/QSqlDatabase>
#include <QStringList>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>
#include <qDebug>
int main(int argc, char *argv[])
{
 QApplication a(argc, argv);
 MainWindow w;
 w.show();
 QStringList drivers = QSqlDatabase::drivers();
 qDebug() << drivers;
 QSqlDatabase dbconn;
 QSqlQuery query;
 dbconn = QSqlDatabase::addDatabase("QMYSQL");
 dbconn.setHostName("192.168.80.221");//主机名字
 dbconn.setDatabaseName("iacrms");//数据库名字
 dbconn.open("gdzt", "039.com");//用户名、密码,成功返回1
 query = (QSqlQuery)dbconn;
 query.exec("select * from tb_UserQQInfo");
 while(query.next())
 {
  int id = query.value(0).toInt();
  QString name = query.value(1).toString();
  qDebug() << QString::number(id) + " : "+ name;
 }
 return a.exec();
}

注意事项

1.qt版本一定要和mysql的一样,要是位就都要是位,或者都是32位。

热心网友 时间:2022-04-07 15:52

注意编译器一定要和MYSQL的平台版本一致,32位的用32位的编译器编译,位的用位的编译器编译。
准备工作:MYSQL的目录:D:\SQL_Server\mariadb
Qt5.1.1的目录:C:\Qt
1. 先将D:\SQL_Server\mariadb中的include\和lib\文件夹复制到根目录(C:),因为后面make时路径不能有空格。

2. 打开QT5.1.1 for Desktop(MinGW 4.8)
cd C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=D:\SQL_Server\mariadb\include" "LIBS+=D:\SQL_Server\mariadb\lib\libmysql.lib" mysql.pro
mingw32-make
如果出现找不到mysql.h文件就用qtcreator打开mysql.pro文件,配置项目,然后编译,就会出现错误提示,把#include 改成#include ,编译就行了,或回到命令行再次执行mingw32-make即可.

3. 编译成功后。
进入到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\sqldrivers目录下,选中qsqlmysql.dll和 qsqlmysqld.dll两个文件,

复制到C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\sqldrivers目录下。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com