更新时间: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++版本源码下载到本地,并解压缩
我这里将 压缩包下载到D盘根目录,并解压缩得到目录: D:\protobuf-3.11.4
2. 生成protbuf库文件
2.1 cmake的设置与库的生成
找到编译的源为protobuf源码中的cmake文件夹,
之后建立输出目录,这里在D盘下创建输出目录output-project,即:D:\output-project,并将其设置为目标文件夹,在cmake中做如下设置:
然后点击configure按键,选择MinGW编译,默认的编译器即可,也就是QT自带的编译器,如图所示。
点击finish按键,开始配置,配置结束后,界面如下:
在列表中按照下图进行选择
点击Generate生成,如图所示。
生成结束后,我们发现D:\output-project文件夹中出现了makefile文件,如图所示。
进入D:\output-project文件夹,在该目录下按住shift然后鼠标右键弹出右键菜单,打开命令行窗口,也就是下边截图中的Powershell窗口。
在命令行窗口中输入mingw32-make命令,开始编译源代码,如下图所示。
等待几分钟编译结束。
编译结束后,我们打开D:\output-project文件夹可以看到生成的库文件和protoc.exe。如下图所示。
3. 在QT中配置protobuf
创建Qt项目,在项目的pro文件中添加如下设置:
protobuf的头文件目录和库目录说明:
1. 根据上边的配置头文件在D:\protobuf-3.11.4\src目录中
a) 头文件在源码目录的src目录中
2. 动态库目录在D:\output-project中
3. 动态库的名字为 libprotobuf.dll在指定的时候
a) –L: 动态库的绝对路径
b) –l:动态库的名字,需要掐头(lib)去尾(dll)
猜你喜欢