天天看點

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" 即為成功安裝.