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