Windows下配置QT

来源:互联网 发布:做淘宝刷客犯法吗 编辑:程序博客网 时间:2024/05/28 15:08

序言

  昨天终于把大便(答辩)搞完了,终于有空来做些记录性的东西。

  毕业设计机器人需要通过QT实时采集些数据,但是不能存在内存里进行分析,因为分析方面感觉还是MATLAB屌些,毕竟有很多工具箱。
  那第一想的是用txt存吧,再通过MATLAB去读,可以是可以但是low,而且数据标签不好管理,所以上MySQL吧,那这一章讲的就是如何~从QT去链接到MySql,Ubuntu的比较简单有包管理工具,这里涉及的环境是Windows下,非常的折腾!!!!!主要是网上讲的都模棱两可并且很多是旧版本,挺多不靠谱。这里记录下过程连接过程,亲测可用,惠及后人。

主要步骤

  首先这里面向的是QT的编译器是MinGW32的朋友,我个人非常讨厌VS,所以一看到需要VS作编译器的版本直接绕路,关键是MinGW32更加轻量级,只是这里QT只有32bit版本的MinGW。

  首先,去官网下个MySql,什么版本就行,下个Server就行了,其他组件不用,然后实际上,由于编译器是32位的,所以这里的Mysql也要是32位的,这里要注意一下,是个坑,因为要用Mysql的动态链接库。

  好,现在,打开QT下的命令交互界面,一步一步进入到Qt的组件包路径里面(如下),有人说,QT没有这个路径,我也是被这个问题坑了很久,你要下载QT的源码包才有,在官网!!!

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

  好下完解压完都有了,然后在命令行下进入那个路径,用qmake生成Makefile包,这里的头文件和库文件都是用Server里的。

qmake "INCLUDEPATH+=D:/software/MysqlSoftware/MySQLServer5.7/include/include" "LIBS+=D:/software/MysqlSoftware/MySQLServer5.7/include/include/lib/libmysql.lib" -o Makefile mysql.pro 

  然后就!!!输入mingw32-make 开始编译,如果是一次按照以上步骤来走一般是妥妥的,但是如果之前编译失败过你就要把相关的中间产物先删除掉。

mingw32-make

  然后在../qt-everywhere-opensource-src-5.6.0/qtbase/plugins/sqldrivers会生成qt连接mysql的dll,将之替换到Qt/5.6/mingw49_32/plugins/sqldrivers/,原来是dll是不能用的,或许运气好可以用,可是一般都要用自己编译器编译出来的才能用。

  最后一步把,../MySQLServer/lib/libmysql.dll复制到C:/Windows目录下。

在QT下写个小程序试试下面的代码:

#include <QCoreApplication>#include <QDebug>#include <QtCore>#include <QtSql/QSql>#include <QSqlQuery>#include <QSqlDatabase>int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    QSqlDatabase dbSQL=QSqlDatabase::addDatabase("QMYSQL");    dbSQL.setHostName("127.0.0.1");    dbSQL.setPort(3306);    dbSQL.setUserName("root");    dbSQL.setPassword("password");    dbSQL.setDatabaseName("testdb");    QSqlQuery query;    if(!dbSQL.open())    {        qDebug()<<"fail";    }    else    {        qDebug()<<"ok";    }    return a.exec();}

  如果显示OK,则大功告成,注意!以上的路径都是我自己的,你要换成你自己的,哦对,顺带提一句,我的QT是5.6的。


所有原创文章都会在第一时间发布到以下公众号,欢迎关注!

0 0
原创粉丝点击