Protobuf一鍵生成代碼bat文件


最近在擺弄Unity的Socket,需要用到Protobuf,一般都會有多個協議文件,所以研究了下bat的批處理,下面給出批處理文件代碼:

 1 @echo off
 2 
 3 ::協議文件路徑, 最后不要跟“\”符號
 4 set SOURCE_FOLDER=.
 5 
 6 ::C#編譯器路徑
 7 set CS_COMPILER_PATH=..\Tools\protobuf-net\ProtoGen\protogen.exe
 8 ::C#文件生成路徑, 最后不要跟“\”符號
 9 set CS_TARGET_PATH=..\Client\Assets\Scripts\Net\Protocol
10 
11 ::Java編譯器路徑
12 set JAVA_COMPILER_PATH=..\Tools\protoc\protoc.exe
13 ::Java文件生成路徑, 最后不要跟“\”符號
14 set JAVA_TARGET_PATH=..\Server\GameServer\src
15 16 ::刪除之前創建的文件 17 del %CS_TARGET_PATH%\*.* /f /s /q 18 del %JAVA_TARGET_PATH%\*.* /f /s /q 19 20 ::遍歷所有文件 21 for /f "delims=" %%i in ('dir /b "%SOURCE_FOLDER%\*.proto"') do ( 22 23 ::生成 C# 代碼 24 echo %CS_COMPILER_PATH% -i:%%i -o:%CS_TARGET_PATH%\%%~ni.cs 25 %CS_COMPILER_PATH% -i:%%i -o:%CS_TARGET_PATH%\%%~ni.cs 26 27 ::生成 Java 代碼 28 echo %JAVA_COMPILER_PATH% --java_out=%JAVA_TARGET_PATH% %%i 29 %JAVA_COMPILER_PATH% --java_out=%JAVA_TARGET_PATH% %%i 30 31 ) 32 33 echo 協議生成完畢。 34 35 pause

可以將上面的bat文件直接放在協議文件的文件夾中,也可以修改成指定的路徑。

還有就是生成的路徑的文件夾必須存在哦。

每次創建時都會刪除目標文件夾下面的所有文件,注意不要在目標文件夾下存放其它的文件。

我后端使用的是Java,如果是其它語言可查看官方文檔進行生成。

 

順便記錄一下Protobuf的使用方法,首先,我們需要下面3個文件(版本2.6.1):

1.Google Protobuf編譯器:http://pan.baidu.com/s/1qWki4cG

2.C#版的Protobuf編譯器:http://pan.baidu.com/s/1eQB7qgE

3.Google Protobuf3種語言的支持類庫:http://pan.baidu.com/s/1o6l87ay

 

Unity使用Protobuf:

在Assets文件夾下創建Plugins文件夾,將解壓后的Protobuf文件夾中的Full文件夾下的unity文件夾拷貝到Plugins文件夾即可。

注意:這種方式在IOS平台上運行會報錯,具體的解決方法可以看下面的文章:

文章1

文章2

Java使用Protobuf:

我這里直接提供創建好的jar文件,直接引入項目即可:http://pan.baidu.com/s/1hqhbbms


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM