教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

如何在Qt下編譯以及使用protobuf?

更新時間:2020年04月21日14時19分 來源:傳智播客 瀏覽次數(shù):

我們在使用Qt開發(fā)做項目開發(fā)是時候, 經(jīng)常會進行數(shù)據(jù)的跨平臺傳輸, 就需要對數(shù)據(jù)進行序列化, 序列化的方式有很多, 現(xiàn)在項目開發(fā)最常用就是google公司開發(fā)的protobuf。今天就給大家詳細講解一下如何在Qt下編譯以及使用protobuf。推薦了解傳智播客C++培訓(xùn)課程。

1. 準備工作

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選項設(shè)置即可完成安裝。

1.3 下載protobuf的源碼

Protbuf源碼下載地址:https://github.com/protocolbuffers/protobuf/releases

選擇c++版本源碼下載到本地,并解壓縮

Qt中編譯和設(shè)置protobuf01


我這里將 壓縮包下載到D盤根目錄,并解壓縮得到目錄: D:\protobuf-3.11.4

2. 生成protbuf庫文件

2.1 cmake的設(shè)置與庫的生成

找到編譯的源為protobuf源碼中的cmake文件夾,

Qt中編譯和設(shè)置protobuf02


之后建立輸出目錄,這里在D盤下創(chuàng)建輸出目錄output-project,即:D:\output-project,并將其設(shè)置為目標文件夾,在cmake中做如下設(shè)置:

Qt中編譯和設(shè)置protobuf03


然后點擊configure按鍵,選擇MinGW編譯,默認的編譯器即可,也就是QT自帶的編譯器,如圖所示。

1587448512979_Qt中編譯和設(shè)置protobuf04.jpg


點擊finish按鍵,開始配置,配置結(jié)束后,界面如下:

Qt中編譯和設(shè)置protobuf05


在列表中按照下圖進行選擇

Qt中編譯和設(shè)置protobuf06

點擊Generate生成,如圖所示。

Qt中編譯和設(shè)置protobuf07


生成結(jié)束后,我們發(fā)現(xiàn)D:\output-project文件夾中出現(xiàn)了makefile文件,如圖所示。

Qt中編譯和設(shè)置protobuf08


進入D:\output-project文件夾,在該目錄下按住shift然后鼠標右鍵彈出右鍵菜單,打開命令行窗口,也就是下邊截圖中的Powershell窗口。

1587448630295_Qt中編譯和設(shè)置protobuf09.jpg

在命令行窗口中輸入mingw32-make命令,開始編譯源代碼,如下圖所示。

Qt中編譯和設(shè)置protobuf10

等待幾分鐘編譯結(jié)束。

Qt中編譯和設(shè)置protobuf11

編譯結(jié)束后,我們打開D:\output-project文件夾可以看到生成的庫文件和protoc.exe。如下圖所示。

1587448676507_Qt中編譯和設(shè)置protobuf12.jpg


3. 在QT中配置protobuf

創(chuàng)建Qt項目,在項目的pro文件中添加如下設(shè)置:

1587448687393_Qt中編譯和設(shè)置protobuf13.jpg

protobuf的頭文件目錄和庫目錄說明:

1. 根據(jù)上邊的配置頭文件在D:\protobuf-3.11.4\src目錄中

    a) 頭文件在源碼目錄的src目錄中

2. 動態(tài)庫目錄在D:\output-project中

3. 動態(tài)庫的名字為 libprotobuf.dll在指定的時候

    a) –L: 動態(tài)庫的絕對路徑

    b) –l:動態(tài)庫的名字,需要掐頭(lib)去尾(dll)

猜你喜歡:

Navicat是什么?Navicat Premium下載與安裝教程

0 分享到:
和我們在線交談!