可以说我有一些.proto
文件的文件夹:
Message.proto
Conversation.proto
对于每个.proto file for python,我需要这样做:
protoc --python_out=. XXXXXXX.proto
对于每个.proto file for swift,我需要这样做:
protoc --swift_out=. XXXXXXX.proto
有没有简单的方法可以将每个.proto文件自动编译为文件夹中的多种语言?我有很多.proto
文件,我同时使用两种语言,现在我需要将每个文件编译两次(对于python和swift(但是如果添加更多语言,您能想象得到吗?)。
我想知道将.proto
文件编译成多种语言的最快方法是什么。理想情况下,我需要.proto文件的.swift / .py文件的生成文件夹。
答案 0 :(得分:2)
如果您在外壳程序中运行protoc
,则可以使用通配符*.proto
,如下所示:
protoc C:\your_absolute _path\*.proto --python_out=C:\python_source\
查看此link
如果需要支持多种语言,则需要使用与构建系统中所有*.proto
文件匹配的glob模式创建脚本(或自定义命令),然后循环运行该命令。
就像add_custom_command
构建系统中的cmake
。
答案 1 :(得分:0)
任何传统的构建系统都应该能够做到这一点。
例如,Makefile,scons,cmake或类似文件。此过程与使用C编译器将多个.c
文件编译为多个.o
文件的过程相同,并且有很多示例。