Win用CMake编译protobuf

环境

  • 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
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容