MAC OS 下protobuf 2.6.1 版本编译安装及proto类型文件编译

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014001964/article/details/81189710

由于工程中proto语法采用的是2.0的,所以选择安装2.6.1版本的protobuf。(3.0和2.0语法不同,如果安装3.0以上版本的protobuf,在编译的时候应该需要增加啥~~~)

编译安装步骤:

1. 安装 protobuf 依赖项, 其依赖于autoconf、 automake、 libtool ,使用brew info 检查是否安装,如果没有安装,请依次执行brew install autoconf、brew install automake、brew install libtool 

2. 确认依赖项已经正确安装,下载protobuf 2.6.1 文件夹(https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz),下载后解压到自己想要放置的路径

3. 下载protobuf文件编译的依赖项gtest,https://github.com/google/googletest/tree/release-1.5.0 , 下载后解压,更改文件名为gtest,放置在protobuf文件夹下

3. cd protobuf-2.6.1/

4.  ./autogen.sh

5.  ./configure CPPFLAGS=-DGTEST_USE_OWN_TR1_TUPLE=1

6. make

7. make check

8. sudo make install

经历以上步骤应该可正常安装~~~

9. protoc --version 查看安装的版本

proto文件编译

1. 进入到proto 文件的目录下(假设有一个文件hello.proto)

2. 执行 protoc hello.proto --cpp_out=.

即可看到在当前文件夹下产生相应的C++文件(hello.pb.h,hello.pb.cc)

部分释义

1. 在执行 ./autogen.sh 之前,请先下载gtest, 因为 autogen.sh 脚本中的下载链接已经404了,所以提前下载下来,再去执行./autogen.sh就不会再这一步失败了。

2. 编译部分,第5步,如果直接执行./configure,可能会出现错误:fatal error: 'tr1/tuple' file not found ,所以需要在./configure后增加参数

3. 部分教程可能让直接执行./configure, 但新的目录下没有这个文件,需要先执行./autogen.sh 生成

4. 如果要安装最新版的protobuf,可以直接执行 brew install protobuf

5. 编译proto 文件的标准格式为: 

    protoc proto文件路径 --cpp_out=C++代码文件导出目录

    其中cpp_out是以proto文件路径为基础的,如果想要在当前目录生成,直接写"." 即可

以上内容整理参考:

http://www.wangquanwei.com/2017-06-10-1.html

https://blog.csdn.net/xocoder/article/details/9173947

猜你喜欢

转载自blog.csdn.net/u014001964/article/details/81189710