• Protobuf一键生成代码bat文件


    最近在摆弄Unity的Socket,需要用到Protobuf,一般都会有多个协议文件,所以研究了下bat的批处理,下面给出批处理文件代码:

     1 @echo off
     2 
     3 ::协议文件路径, 最后不要跟“”符号
     4 set SOURCE_FOLDER=.
     5 
     6 ::C#编译器路径
     7 set CS_COMPILER_PATH=..Toolsprotobuf-netProtoGenprotogen.exe
     8 ::C#文件生成路径, 最后不要跟“”符号
     9 set CS_TARGET_PATH=..ClientAssetsScriptsNetProtocol
    10 
    11 ::Java编译器路径
    12 set JAVA_COMPILER_PATH=..Toolsprotocprotoc.exe
    13 ::Java文件生成路径, 最后不要跟“”符号
    14 set JAVA_TARGET_PATH=..ServerGameServersrc
    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

  • 相关阅读:
    jquery动画,获取,添加
    javac3p0连接池
    jquery尺寸
    jquery遍历
    jquery删除,停止,获取设置css,设置内容和属性,过滤
    javajdbc(数据库的添加,删除,修改,更新)
    博客开通
    很久每有来空来了,一些最近的想法
    竖线的显示
    一个小问题,c++
  • 原文地址:https://www.cnblogs.com/hammerc/p/4663469.html
Copyright © 2020-2023  润新知