linux下 qt5 链接Mysql
2013-11-29 21:18
323 查看
操作系统:opensuse13.1 32位
数据库:MariaDB5.5.33
QT:5.1.1
qt安装包:qt-linux-opensource-5.1.1-x86-offline.run
因为是学习,所以安装了全部组件,包括源码和样例。
以普通用户身份安装的,所以安装文件在自己的home目录里面。
<1>准备阶段
首先要安装,MariaDB客户端的开发库mysql-devel。
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里面添加如下测试代码。
编译链接 OK!
数据库:MariaDB5.5.33
QT:5.1.1
qt安装包:qt-linux-opensource-5.1.1-x86-offline.run
因为是学习,所以安装了全部组件,包括源码和样例。
以普通用户身份安装的,所以安装文件在自己的home目录里面。
<1>准备阶段
首先要安装,MariaDB客户端的开发库mysql-devel。
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!
相关文章推荐
- Linux下Qt与mysql建立连接
- Linux下MySQL链接被防火墙阻止
- linux下mysql的中文不能显示及sock链接错误问题的一些解决办法
- 【qt大贴士】 qt链接mysql时的问题
- windows链接linux的mysql报1033错误
- Windows下Qt应用程序可以连接本地MYSQL不能连接linux的问题
- Qt5链接MySql--QMYSQL driver not loaded
- Ubuntu Server 14.04 安装Web服务器(Linux+Apache+MySQL+PHP) 本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http
- linux 下链接mysql练习
- linux mysql外网授权链接
- linux qt mysql
- QT连接Linux mysql注意
- linux下mysql链接被防火墙阻止的解决方法
- 一步步学Qt,第四天-Linux 下mysql数据库链接
- MySQL字符集设置—MySQL数据库乱码问题 本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-01/31531.htm
- linux 编译QT的mysql驱动
- 如何创建和使用动态链接库与Linux下QT添加链接库使用Opencv的方法
- 初学mysql & python & python链接数据库(mysql) & mysql for linux
- qt编译mysql驱动-------windows平台和linux平台
- 一步步学Qt,第四天-Linux 下mysql数据库链接