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

 

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源码 ]。

posted @ 2015-12-14 17:15  天涯路清晨  阅读(553)  评论(0编辑  收藏  举报