天天看点

qt获取console输出_怎么在Centos 7 安装 Qt-4.8.6-MySQL 驱动?

qt获取console输出_怎么在Centos 7 安装 Qt-4.8.6-MySQL 驱动?

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 Drivers​doc.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" 即为成功安装.