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 ...
随机推荐
- lesson 23 one man's meat is another man's poison
lesson 23 one man's meat is another man's poison delicacy n. 美味:佳肴: delicious adj. 美味的:可口的 关于虚拟语气: I ...
- mybatis interceptor 处理查询参数及查询结果
拦截器:拦截update,query方法,处理查询参数及返回结果. /** * Created by windwant on 2017/1/12. */ @Intercepts({ @Signatur ...
- 用Python实现一个端口扫描,只需简单几步就好
一.常见端口扫描的原理 0.秘密扫描 秘密扫描是一种不被审计工具所检测的扫描技术. 它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己. 秘密扫描能躲避IDS.防火墙.包过滤器 ...
- 【Linux】Face Recognition的封装
使用虹软的人脸识别 写了一个linux下的Face Recognition的封装,当作是练习. C++的封装,结合opencv,使用方便.https://github.com/zacario-li/F ...
- Python3 小工具-ARP欺骗
在kali中使用 from scapy.all import * import optparse import os def send(pkt,interface): for p in pkt: se ...
- qt qchart缩放后坐标轴间隔取整
使用qt的qchart显示数据曲线,坐标轴QValueAxis可以设置刻度间隔数量,但每个刻度的数值是根据坐标的极值除以间隔数量得到的,不一定是整数,导致曲线控件的显示刻度不适合观察. 如图: 纵坐标 ...
- 各类4G手机进入工参模式查看手机信息
随着移动4G正式商用,LTE网络建设日益完善,LTE用户日趋增多,通过进入其工程模式读取服务小区电平RSRP.物理小区标识PCI和频点号等基本信息的方式来判断测试点信号质量的优劣.由于市场上商用终端品 ...
- nodejs笔记--express篇(五)
创建一个express + ejs的项目 express -e testEjsWebApp cd testEjsWebApp npm install http://localhost:3000 Usa ...
- ios::sync_with_stdio(false)提高C++读写速度
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:ios::sync_with_stdio(false)提高C++读写速度 本文地址:h ...
- PAT L2-028 秀恩爱分得快
https://pintia.cn/problem-sets/994805046380707840/problems/994805054698012672 古人云:秀恩爱,分得快. 互联网上每天都有大 ...