环境
- Windows 10
- CMake 3.18.0
- VS 2019
下载
先去下载protobuf对应的版本 https://github.com/protocolbuffers/protobuf/releases
这里以protobuf-all-3.12.3.zip版本为例。
生成工程
下载解压后,打开CMake,source code
项填入protobuf的cmake目录,build the binaries项为成生的工程目录,这个自己填写一个就可以了。最后点Configure生成
生成页面选择vs的版本
生成文件如果报错,将protobuf_BUILD_TESTS
勾选去掉,这里没有安装gtest
Configure完成后点Generate生成vs工程
编译
进入我们配置的out目录中,会看到一个ptotobuf.sln
文件
用vs打开,编译模式选择Release
,右键protoc
项目,生成就可以了。
最后在protoc
输出目录中,就可以找到我们需要的protoc.exe了
使用
从源码可以看出支持的语言
# C++
protoc.exe --proto_path=./proto --cpp_opt=./cpp ./proto/text.proto
# Java
protoc.exe --proto_path=./proto --java_out=./java ./proto/text.proto
# Python
protoc.exe --proto_path=./proto --python_out=./py ./proto/text.proto
# PHP
protoc.exe --proto_path=./proto --python_out=./php ./proto/text.proto
# Ruby
protoc.exe --proto_path=./proto --ruby_out=./ruby ./proto/text.proto
# C#
protoc.exe --proto_path=./proto --csharp_out=./cs ./proto/text.proto
# Objective C
protoc.exe --proto_path=./proto --objc_out=./objc ./proto/text.proto
# JavaScript
protoc.exe --proto_path=./proto --js_out=./js ./proto/text.proto