更新時(shí)間:2020年04月21日14時(shí)19分 來(lái)源:傳智播客 瀏覽次數(shù):
我們?cè)谑褂肣t開(kāi)發(fā)做項(xiàng)目開(kāi)發(fā)是時(shí)候, 經(jīng)常會(huì)進(jìn)行數(shù)據(jù)的跨平臺(tái)傳輸, 就需要對(duì)數(shù)據(jù)進(jìn)行序列化, 序列化的方式有很多, 現(xiàn)在項(xiàng)目開(kāi)發(fā)最常用就是google公司開(kāi)發(fā)的protobuf。今天就給大家詳細(xì)講解一下如何在Qt下編譯以及使用protobuf。推薦了解傳智播客C++培訓(xùn)課程。
1. 準(zhǔn)備工作
1.1 下載并安裝Qt
QT的下載地址,建議使用5.7以上版本:https://download.qt.io/archive/qt/
選擇MinGW 版本選擇 next 即可完成安裝。
1.2 下載cmake并安裝
Cmake下載地址:https://cmake.org/download/
根據(jù)向?qū)褂媚J(rèn)選項(xiàng)設(shè)置即可完成安裝。
1.3 下載protobuf的源碼
Protbuf源碼下載地址:https://github.com/protocolbuffers/protobuf/releases
選擇c++版本源碼下載到本地,并解壓縮
我這里將 壓縮包下載到D盤(pán)根目錄,并解壓縮得到目錄: D:\protobuf-3.11.4
2. 生成protbuf庫(kù)文件
2.1 cmake的設(shè)置與庫(kù)的生成
找到編譯的源為protobuf源碼中的cmake文件夾,
之后建立輸出目錄,這里在D盤(pán)下創(chuàng)建輸出目錄output-project,即:D:\output-project,并將其設(shè)置為目標(biāo)文件夾,在cmake中做如下設(shè)置:
然后點(diǎn)擊configure按鍵,選擇MinGW編譯,默認(rèn)的編譯器即可,也就是QT自帶的編譯器,如圖所示。
點(diǎn)擊finish按鍵,開(kāi)始配置,配置結(jié)束后,界面如下:
在列表中按照下圖進(jìn)行選擇
點(diǎn)擊Generate生成,如圖所示。
生成結(jié)束后,我們發(fā)現(xiàn)D:\output-project文件夾中出現(xiàn)了makefile文件,如圖所示。
進(jìn)入D:\output-project文件夾,在該目錄下按住shift然后鼠標(biāo)右鍵彈出右鍵菜單,打開(kāi)命令行窗口,也就是下邊截圖中的Powershell窗口。
在命令行窗口中輸入mingw32-make命令,開(kāi)始編譯源代碼,如下圖所示。
等待幾分鐘編譯結(jié)束。
編譯結(jié)束后,我們打開(kāi)D:\output-project文件夾可以看到生成的庫(kù)文件和protoc.exe。如下圖所示。
3. 在QT中配置protobuf
創(chuàng)建Qt項(xiàng)目,在項(xiàng)目的pro文件中添加如下設(shè)置:
protobuf的頭文件目錄和庫(kù)目錄說(shuō)明:
1. 根據(jù)上邊的配置頭文件在D:\protobuf-3.11.4\src目錄中
a) 頭文件在源碼目錄的src目錄中
2. 動(dòng)態(tài)庫(kù)目錄在D:\output-project中
3. 動(dòng)態(tài)庫(kù)的名字為 libprotobuf.dll在指定的時(shí)候
a) –L: 動(dòng)態(tài)庫(kù)的絕對(duì)路徑
b) –l:動(dòng)態(tài)庫(kù)的名字,需要掐頭(lib)去尾(dll)
猜你喜歡:
什么是RPC?有什么用途?
2020-04-17protobuf是什么?有什么優(yōu)勢(shì)?【C++培訓(xùn)】
2020-04-17環(huán)境變量是什么?如果定義環(huán)境變量?【C++培訓(xùn)】
2020-04-17TCP/IP 協(xié)議族的應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層【C++培訓(xùn)】
2020-04-16C、C++、C#三者之間有什么區(qū)別和聯(lián)系?
2020-04-02C語(yǔ)言運(yùn)算符優(yōu)先級(jí)詳解[C++培訓(xùn)]
2020-03-31北京校區(qū)