protobuff版本3.14.0 传送门:https://github.com/protocolbuffers/protobuf/releases
以下为bat代码
@echo off
@setlocal enabledelayedexpansion
set platform=win64
set cwd=%~dp0
set protoc=%cwd%/%platform%/bin/protoc.exe
set SRC_DIR=%cwd%src
set DST_DIR=%cwd%runtime
set output_cs=%DST_DIR%\cs
set output_cpp=%DST_DIR%\cpp
set output_java=%DST_DIR%\java
rem %protoc% -h
set cpp=1
set csharp=1
set java=1
set pb=1
cd %SRC_DIR%
if %cpp% gtr 0 (
call:compileProto "%output_cpp%" "--cpp_out=%output_cpp%"
)
if %csharp% gtr 0 (
call:compileProto "%output_cs%" "--csharp_out=%output_cs%"
)
if %java% gtr 0 (
call:compileProto "%output_java%" "--java_out=%output_java%"
)
if %pb% gtr 0 (
set files=
for %%i in (*.proto) do set files=!files! %%i
%protoc% --experimental_allow_proto3_optional -I=%SRC_DIR% -o%DST_DIR%\schema.pb !files!
)
cd %cwd%
goto complete
:: functions start
:compileProto
rem echo compile %1, %2
if not exist %1 (
md %1
)
for %%i in (*.proto) do (
%protoc% --experimental_allow_proto3_optional -I=%SRC_DIR% %2 %SRC_DIR%/%%i
)
goto:eof
:: functions end
:complete
echo export success