protobuf编译出错的解决方案(iOS,OSX)

protobuf

最近使用protobuf,变编译工具时遇上一点问题.现在附上解决方案

编译过程

完全参照

https://github.com/alexeyxo/protobuf-objc

编译出错

遇到如下错误

./google/protobuf/objectivec-descriptor.pb.h:17:2: error: This file was
generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^
./google/protobuf/objectivec-descriptor.pb.h:18:2: error: incompatible with your
Protocol Buffer headers. Please
#error incompatible with your Protocol Buffer headers. Please
^
./google/protobuf/objectivec-descriptor.pb.h:19:2: error: regenerate this file
with a newer version of protoc.
#error regenerate this file with a newer version of proton.

解决方案

根据文档中

ln -s /usr/local/Cellar/protobuf/2.6.1/bin/protoc /usr/local/bin

作者应该使用2.6.1编译的,我将brew中的protobuf降级到了2.6.0(现在安装是3.1.0).
结果可以顺利编译

另外附上降级指南http://sanwen8.cn/p/5a9lM4E.html

转载于:https://www.cnblogs.com/qianhongqiang/p/6232861.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Protobuf编译是指将.proto文件编译成可用的代码文件。在Windows下,可以使用protoc.exe执行以下命令来进行编译: ``` protoc --cpp_out=. example.proto ``` 这将生成example.proto.h和example.proto.cc文件,其中example.proto是你的.proto文件的名称。\[1\] 编译.proto文件的指令格式为: ``` protoc \[--proto_path=IMPORT_PATH\] --cpp_out=DST_DIR file.proto ``` 其中: - --proto_path:指定.proto文件的检索路径,可以多次指定。如果不指定,默认在当前文件夹下检索。 - --cpp_out:指定编译后的文件类型为C++。 - DST_DIR:指定生成文件的存放路径。 - file.proto:指定要编译的.proto文件(在--proto_path路径下的文件)。\[2\] 通过以上命令进行编译后,你将得到可以在C++代码中使用的protobuf相关文件,可以根据需要进行序列化和反序列化操作。\[3\] #### 引用[.reference_title] - *1* [protobuf 编译及使用](https://blog.csdn.net/WeinKee/article/details/105152620)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【Protobuf速成指南】.proto文件的编写与编译](https://blog.csdn.net/whc18858/article/details/131064187)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值