Qt 是 C++ 的一个常用 gui 大而全的框架, 包含了很多实用的内容, 包括了数据库连接, 使开发变得非常的简单.
MySQL 在 V5 已经是开箱即用了, MySQL-client 驱动默认安装.
但是 Qt 框架的 V4 版本不是如此, MySQL 的驱动需要自己编译. 关于这个过程, 网上的教程比较稀缺
本机环境 :
Centos 7
前置条件 :
下载安装 MySQL :yum install mysql mysql-devel -y
如果不是连接远程数据库, 则需要
yum install mariadb-server -y
systemclt start mariadb #启动MariaDB
systemclt enable mariadb #设置开机自启动
MariaDB 是 MySQL 的一个 GPL 开源分支, 用以减少避免 Oracle 对 MySQL 干预. CentOS 7 将 MySQL 从软件列表中移除了, 替换成了 MariaDB. MariaDB 力图跟 MySQL 100% 兼容, 非特殊情况可以放心使用.
测试一下 MySQL 连接
mysql -u root -p
输入密码为空, 显示 Welcome to the MariaDB monitor. 则成功安装 MySQL.
如果是远程连接则
mysql -u [用户名] -h [IP] -p
-p 的意思是使用账户密码登录.
下载安装 Qt-4.8.6从官网下载qt-4.8.6: qt-everywhere-opensource-src-4.8.6.tar.gz
tar zxvf qt-everywhere-opensource-src-4.8.6.tar.gz
安装 g++
yum install gcc gcc-c++
打开 qt-everywhere-opensource-src-4.8.6
make
(时间会持续很久, 可以刷刷知乎)
安装
make install
配置环境变量
vi ~/.bash_profile
添加
export QTDIR=/usr/local/Trolltech/Qt-4.8.6
export PATH=/opt/qtcreator-2.6.1:$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPAT
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
执行修改, 这样就不用重启
source ~/.bash_profile
下载 Qt Creator, 同样设置环境变量
# vi ~/.bash_profile
添加:
export PATH=/opt/qtcreator-2.6.1:$PATH
# source ~/.bash_profile
打开一个
sql的样例进行测试, 默认的样例都是使用
Sqlite的,
MySQL驱动未成功安装不影响结果. 如果成功运行, 则说明前置条件已经完成.
安装 MySQL 驱动
要安装 MySQL 驱动, 要编译出
libsqlmysql.so文件放置到
{$QTDIR}/plugins/sqldrivers官方文档如下
SQL Database Driversdoc.qt.io
回到 QT 源码, 打开 src/plugins/sqldrivers/mysql
但是不同的 Linux 发行版的 rpm 路径有所不同, 所以要做下面修改, 实测 Centos7 可行
qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib64/mysql -lmysqlclient_r" mysql.pro
make install
安装结束
在 QT creator 打开一个空项目测试一下.
test.pro
#-------------------------------------------------
#
# Project created by QtCreator 2019-10-11T03:29:29
#
#-------------------------------------------------
QT += core sql
QT -= gui
TARGET = testSQL
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
main.cpp
#include
Console 输出 "open" 即为成功安装.