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("");
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源码 ]。
CentOS 6.5 下 QT4 连接 mysql 数据库的步骤的更多相关文章
- CentOS 6.3下Zabbix监控MySQL数据库参数
系统环境:CentOS 6.3 x64 http://www.linuxidc.com/Linux/2012-12/76583.htm mysql: mysql-5.6.10 http://w ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
- Java连接MySQL数据库——含步骤和代码
工具:eclipse MySQL5.6 MySQL连接驱动:mysql-connector-java-5.1.27.jar 加载驱动: 1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件 ...
- ASP.NET 连接MySQL数据库 详细步骤
ASP.NET默认的数据库是MS SQL Server,微软的数据库产品.事实上,如果不计成本因素的话,Windows Server + IIS + MS SQL Server + ASP.NET是网 ...
- Eclipse通过JDBC连接MySQL数据库的步骤(最原始的几个步骤)
java可以兼容目前市面上所有类型的数据库,主要是因为提供了两个接口,一个用于连接目标数据库,一个用于向数据库中传输SQL命令. Connection接口——连接目标数据库: Statement 接 ...
- Ubuntu12.04下Qt连接MySQL数据库
本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库. 1.安装 Qt 和 MySQL 若未安装以上软件, ...
- Mac下php连接mysql数据库失败解决办法
通过phpmyadmin连接mysql成功,但是通过php连接数据库失败,执行如下php语句 ? 1 @mysql_connect("localhost","root&q ...
- python3下django连接mysql数据库
1.安装pymysql pip install pymysql 有一点需要注意,有的系统(比如ubuntu16.04)同时安装了python2和python3,而比较新的django需要在python ...
随机推荐
- Angualr6访问API
参照 草根专栏- ASP.NET Core + Ng6 实战: https://v.qq.com/x/page/a0769armuui.html 1.environment.ts 添加apiUrlBa ...
- (转)Shadow Mapping
原文:丢失,十分抱歉,这篇是在笔记上发现的.SmaEngine 阴影和级联部分是模仿UE的结构设计 This tutorial will cover how to implement shadow ...
- C++ ifndef /define/ endif 作用和用法
ifndef/define/endif”主要目的是防止头文件的重复包含和编译 比如你有两个C文件,这两个C文件都include了同一个头文件.而编译时,这两个C文件要一同编译成一个可运行文件,于是问题 ...
- docker创建redis镜像
pull redis 镜像 创建redis的镜像有几种方式,可以直接从仓库中拉取,也可以采用dockerfile文件自己编译创建. 基于已有的redis镜像,docker可以采用run,或者creat ...
- 1.安装CDH5.12.x
安装方式安装前准备安装步骤安装过程修改/etc/hosts设置ssh 互信修改linux 系统设置安装JDK1.8安装python2.7安装mysql/postgreysql数据库安装ntp设置本地y ...
- 事后分析报告(M2阶段)
我们的项目是自选项目,一款名为备忘录锁屏MemoryDebris的软件. 在第二轮的迭代中,由于各科的大作业都集中在这一段时间,所以这段时间各个组员间的负担都比较大,但是在大家共同努力,最终我们还是交 ...
- 第二次作业(1001.A+B Format (20))
代码文件及题目描写已放至此 一开始看题目的时候有点没看懂,要求把数分组是什么意思.如果只是单纯的a+b的话是不可能的,所以关于这一点犹豫了很久.本来以为是指把a,b,以及它们的和c各建一个数组,但只输 ...
- UVA725 Division (暴力求解法入门)
uva 725 Division Write a program that finds and displays all pairs of 5-digit numbers that between t ...
- 3dContactPointAnnotationTool开发日志(五)
今天要做的第一件事就是把obj文件里不同的对象分割开来. 通过仔细观察发现obj文件中以"o "开头的行会跟着一个对象的名字.g代表对象所属组名,我这里只要用到对象名就行了 ...
- 【Linux】- ps -ef |grep 命令
ps:将某个进程显示出来 grep:查找 |:管道命令 表示ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找,是一种强大的文本搜索工具,它能使用正则 ...