操做系统:opensuse13.1 32位 mysql
数据库:MariaDB5.5.33 linux
QT:5.1.1 sql
qt安装包:qt-linux-opensource-5.1.1-x86-offline.run 数据库
由于是学习,因此安装了所有组件,包括源码和样例。 学习
以普通用户身份安装的,因此安装文件在本身的home目录里面。 测试
<1>准备阶段 操作系统
首先要安装,MariaDB客户端的开发库mysql-devel。 code
opensuse13.1 下面的安装包是:libmysqlclient-devel和libmysqlclient18 开发
<2>安装阶段 源码
(1)而后找到源码包里面的mysql.pro文件,,通常在 (软件安装的目录)/Qt5/5.1.1/Src/qtbase/src/plugins/sqldrivers/mysql 下面。
这是个人具体安装目录,读者可能和个人有差别,具体按照你的安装目录。
进入到此文件夹之后,若是不存在mysql.pro 就先用(你的qmake所在目录)/qmake -project 生成一个工程。而后执行执行命令
$>(你的qmake所在目录)/qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro
生成一个Makefile文件。
下面是个人操做过程:
(2) 编译,安装
直接在Makefile所在的目录下面 执行
$>make
$>make install
编译生成的libqsqlmysql.so 文件会自动安装到 Qt5/5.1.1/gcc/plugins/sqldrivers/下面。
<3>测试阶段
新建一个qt工程dbtest
在dbtest.pro里面添加 QT += sql (qt5 必定要加的)如标记部分。
而后在main.cpp里面添加以下测试代码。
#include "mainwindow.h" #include <QApplication> #include<QMessageBox> #include<QDebug> #include<QtSql/QSqlDatabase> #include<QtSql/QSqlDriver> #include<QtSql/QSqlError> int main(int argc, char *argv[]) { QApplication a(argc, argv); qDebug()<<QSqlDatabase::drivers()<<endl; /*列出qt可用的数据库*/ /* *连接mysql数据库 */ QSqlDatabase db( QSqlDatabase::addDatabase( "QMYSQL" ) ); db.setHostName("localhost"); db.setDatabaseName("test"); db.setUserName("root"); db.setPassword("*****"); if(!db.open())/*测试数据库是否连接成功*/ { QMessageBox::critical(0, QObject::tr("Databse Error"), db.lastError().text()); qDebug()<<db.lastError()<<endl; } else { qDebug()<<"Ok"<<endl; } }编译连接 OK!