操做系統: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!