您的位置:首页 > 运维架构 > Linux

CentOS 6.5 下 QT4 连接 mysql 数据库的步骤

2015-12-14 17:15 731 查看
QT4 的安装请参考: CentOS 6.5 下安装 QT 4

mysql 的安装请参考: CentOS 6.5 下安装配置 mysql

1. 预防万一,先安装一下mysql-devel(一定要装!), 不安装的话后面编译会出现找不到-lmysqlclient的问题。如果您参考上面的文档安装 mysql,则 mysql-devel 是安装了的,此步骤可忽略。

2. 开始编译:

a. 进入QT解压文件夹下那个存放mysql驱动源码的目录 [注:是SDK, 非QT creator ]

   cd /home/Tian/software/qt-everywhere-opensource-src-4.8.7/src/plugins/sqldrivers/mysql

b. 下面的语句我修改一下了qt助手里的,因为我的mysql库的位置是在/usr/include/mysql,/usr/lib/mysql 中。

   qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro

   或者 [ 注:这一步我出错了很多次,最后到底是那个成功的我也不清楚(表打我),事实上是include和libs

   一定要 指定到 MySQL头和库所在的路径 ]

   qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib64/mysql -lmysqlclient_r" mysql.pro

c. make一下

   make

3. 安装

  make install //生成, 在上面make那步好像也生成过的了,不过这一步还是要做一下··

4. 完成

  你可以在QT安装文件夹下 /usr/local/Trolltech/Qt-4.8.7/plugins/sqldrivers 里找到一个刚生成的 libqsqlmysql.so ,这个就是mysql的驱动。 [ 注:是在安装文件夹下,非解压文件夹下,我在解压文件夹下找了半天没找到,晕死。]

  这个是我编译好的 mysql 驱动:点我下载 ,大家可以直接下载解压使用,放到目录 /usr/local/Trolltech/Qt-4.8.7/plugins/sqldrivers 下即可。

5. 测试

打开Qt Creator,新建一个项目(Qt Widgets Application), main.cpp 中的代码如下:

#include "mainwindow.h"
#include <QApplication>
#include <QtGui/QApplication>
#include <QtSql>
#include <QLabel>
#include <QSqlDatabase>

bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("123456");
if (!db.open())
return false;
db.close();
return true;
}

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel* label = new QLabel;
label->setWindowTitle("Qt_MySql");
if (createConnection())
label->setText("connection success...");
else
label->setText("connection failed...");
label->show();

return a.exec();
}


然后在 .pro 文件中添加 sql ,如下图所示:



运行结果如下图所示,则表示数据库连接成功。



这个是我做的一个对数据库增删改查的小例子,大家可以下载参考[ Task源码 ]。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: