protobuf的介绍一大堆,这里就不做详细的介绍了。

安装

-从官网直接下载protobuf 安装到本地
– ubuntu 安装方法
1. sudo apt-get install autoconf automake libtool curl make g++ unzip centos安装方式和ubuntu一样,下载安装上面的安装包就行
2. 编译安装

git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf
git submodule update --init --recursive
./autogen.sh
./configure  --prefix=/usr/local/protobuf   ##prefix 是配置编译目录,不配置会安装在默认的目录
 make
 make check
 sudo make install
 sudo ldconfig # 链接动态库.
  1. 如果配置了安装目录需要设置PATH
    在/etc/profile 文件中增加下列几项
$ vi /etc/profile
export PATH=$PATH:/usr/local/protobuf/bin/
export LIBRARY_PATH=/usr/local/protobuf/lib/:$LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/protobuf/lib/:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
  1. 配置完PATH 使用source /etc/profile更新环境变量。有的linux需要重启。如果source /etc/profile没用就重启下。
$ protoc --version
$ libprotoc 3.13.0

如果能正确显示出版本号就没问题。

使用

这里使用vscode编辑器

  • 定义自己的字段,文件后缀为.protoc
    .proto
    具体的文件内容说明请查看文档说明
  • 使用protoc进行编译
    protoc -I=./ --cpp_out=./ ./main.proto main.proto 为刚才的.proto文件名称
    编译完成后会在当前目录看见两个后缀为.pb.cc 和.pb.h的文件,编写一个main 文件测试下
    .proto

  • 使用g++ 编译
    g++ -g -o main ./mian.cpp ./main.pb.cc -I/usr/local/protobuf/include -L/usr/local/protobuf/lib -lprotobuf -pthread

这里记录下自己的cmake 文件

cmake_minimum_required(VERSION 3.6.2)

add_definitions(-std=c++11)
# 设置头文件目录
set(INC_DIR /usr/local/protobuf/include/)
# 设置protobuf目录
set(LIB_DIR /usr/local/protobuf/lib/)

project(main)

include_directories(${INC_DIR})

set(SRC_LIST main.cpp main.pb.cc)

add_executable(main ${SRC_LIST})

target_link_libraries(main protobuf pthread)

发表评论

电子邮件地址不会被公开。