全国咨询/投诉热线:400-618-9090

首页技术文章正文

如何在Qt下编译以及使用protobuf?【C++培训】

更新时间:2020-04-21 来源:黑马程序员 浏览量:

我们在使用Qt开发做项目开发是时候, 经常会进行数据的跨平台传输, 就需要对数据进行序列化, 序列化的方式有很多, 现在项目开发最常用就是google公司开发的protobuf。今天就给大家详细讲解一下如何在Qt下编译以及使用protobuf。推荐了解黑马程序员C++培训课程

1. 准备工作

1.1 下载并安装Qt

QT的下载地址,建议使用5.7以上版本:https://download.qt.io/archive/qt/

选择MinGW 版本选择 next 即可完成安装。

1.2 下载cmake并安装

Cmake下载地址:https://cmake.org/download/

根据向导使用默认选项设置即可完成安装。

1.3 下载protobuf的源码

Protbuf源码下载地址:https://github.com/protocolbuffers/protobuf/releases

选择c++版本源码下载到本地,并解压缩

Qt中编译和设置protobuf01


我这里将 压缩包下载到D盘根目录,并解压缩得到目录: D:\protobuf-3.11.4

2. 生成protbuf库文件

2.1 cmake的设置与库的生成

找到编译的源为protobuf源码中的cmake文件夹,

Qt中编译和设置protobuf02


之后建立输出目录,这里在D盘下创建输出目录output-project,即:D:\output-project,并将其设置为目标文件夹,在cmake中做如下设置:

Qt中编译和设置protobuf03


然后点击configure按键,选择MinGW编译,默认的编译器即可,也就是QT自带的编译器,如图所示。

1587448512979_Qt中编译和设置protobuf04.jpg


点击finish按键,开始配置,配置结束后,界面如下:

Qt中编译和设置protobuf05


在列表中按照下图进行选择

Qt中编译和设置protobuf06

点击Generate生成,如图所示。

Qt中编译和设置protobuf07


生成结束后,我们发现D:\output-project文件夹中出现了makefile文件,如图所示。

Qt中编译和设置protobuf08


进入D:\output-project文件夹,在该目录下按住shift然后鼠标右键弹出右键菜单,打开命令行窗口,也就是下边截图中的Powershell窗口。

1587448630295_Qt中编译和设置protobuf09.jpg

在命令行窗口中输入mingw32-make命令,开始编译源代码,如下图所示。

Qt中编译和设置protobuf10

等待几分钟编译结束。

Qt中编译和设置protobuf11

编译结束后,我们打开D:\output-project文件夹可以看到生成的库文件和protoc.exe。如下图所示。

1587448676507_Qt中编译和设置protobuf12.jpg


3. 在QT中配置protobuf

创建Qt项目,在项目的pro文件中添加如下设置:

1587448687393_Qt中编译和设置protobuf13.jpg

protobuf的头文件目录和库目录说明:

1. 根据上边的配置头文件在D:\protobuf-3.11.4\src目录中

    a) 头文件在源码目录的src目录中

2. 动态库目录在D:\output-project中

3. 动态库的名字为 libprotobuf.dll在指定的时候

    a) –L: 动态库的绝对路径

    b) –l:动态库的名字,需要掐头(lib)去尾(dll)

猜你喜欢

GO语言开发环境搭建:goland安装教程


javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

14天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

8天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

0天免费试学

基础班入门课程限时免费

申请试学名额

12天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

10天免费试学

基础班入门课程限时免费

申请试学名额
在线咨询 我要报名