RHEL 6.2 Qt连接mysql配置实例教程。
1,系统默认安装了mysql
# rpm -qa mysql
mysql-5.1.52-1.el6.1.ns6.01.x86_64
2,安装Qt,要选全部安装!!!(貌似无法从nokia下载了)
# ./QtSdk-offline-linux-x86_64-v1.2.1.run
3,进入Qt源码目录,编译mysql动态库
#cd /opt/QtSDK/QtSources/4.8.1/src/plugins/sqldrivers/mysql
# ls
main.cpp mysql.pro README
# qmake-qt4 “INCLUDEPATH+=/usr/include/mysql” “LIBS+=-L/usr/lib64/mysql -lmysqlclient_r” mysql.pro
# make
# ls
libqsqlmysql.so main.o moc_qsql_mysql.cpp mysql.pro qsql_mysql.o
main.cpp Makefile moc_qsql_mysql.o qsql_mysql.moc README
libqsqlmysql.so就是qt的mysql驱动
4,拷贝第三步生成的libqsqlmysql.so动态库到Qt SDK的Qt相应位置上,用哪个就拷到哪个目录
# cp libqsqlmysql.so /opt/QtSDK/Desktop/Qt/4.8.1/gcc/plugins/sqldrivers/
# cp libqsqlmysql.so /opt/QtSDK/Desktop/Qt/474/gcc/plugins/sqldrivers/
5,代码验证
新建Qt控件项目 Qt Gui应用 工程名是mysql2
代码如下:(只要修改.pro和main函数就ok,其他代码是自动生成的)
#mysql.pro
#————————————————-
#
# Project created by QtCreator 2013-01-28T10:32:49
#
#————————————————-
QT += core gui\
sql
TARGET = mysql2
TEMPLATE = app\
lib64
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
main.cpp
#include
#include
#include
#include
#include
#include
#include “mainwindow.h”
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
qDebug()<<”Available drivers:”;
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver;;
MainWindow w;
w.show();
return a.exec();
}
mainwindow.cpp
#include “mainwindow.h”
#include “ui_mainwindow.h”
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
编译运行,打印信息如下,OK~~搞定!
/sda6-112G-data/qt-space/mysql2/mysql2 启动中…
Available drivers:
“QSQLITE”
“QMYSQL3″
“QMYSQL”
/sda6-112G-data/qt-space/mysql2/mysql2 退出,退出代码: 0
{1 ?}