.proto 文件转成 .lua 文件完整版(Windows 下)
版权声明:本文为博主原创文章,转载请注明优快云博客源地址!共同学习,一起进步~
https://blog.youkuaiyun.com/qq_29473881/article/details/107958275
环境准备前提:
1、安装Python,配置环境变量
2、下载protoc-gen-lua
3、安装Google protocol 模板
一、安装Python和配置环境变量
Python的官方地址: https://www.python.org/
这里有安装详细教程,本文就不多讲 https://blog.youkuaiyun.com/u011781521/article/details/53909151
提供一个网盘链接,为2.7版本
链接:https://pan.baidu.com/s/11RC-XisftwM-KAQXlbS6AQ
提取码:ih7c
配置的环境变量如下:
二、下载protoc-gen-lua
链接:https://pan.baidu.com/s/1A3nxam-QjQdWHa4JlzkDGw
提取码:owqm
解压到指定目录
修改buildproto.bat中的路径
修改protoc-gen-lua.bat中的路径
以上设置好之后,先放一放,开始安装Google protocol 模板,不然直接执行buildproto.bat会报:
ImportError: No module named google.protobuf
的错误,原因是找不到这个模板。所以进行第三步,安装google.protobuf 模板
三、安装Google protocol 模板
同样我也提供好了相关文件给你们
链接:https://pan.baidu.com/s/1EKHSls2wRts-jx6Rdn1KRA
提取码:ljiu
随便解压到哪个目录
将protoc-2.5.0-win32文件目录下的protoc.exe文件复制到protobuf-2.5.0目录的src目录下。
启动 cmd 终端,进入E:\protobuf 2.5.0\protobuf-2.5.0\python 目录(我的是这个目录)
依次执行下面三个命令(这个很重要):
1、python setup.py build
2、python setup.py test
3、python setup.py install
执行结果如下就没问题:
执行完后,会对应生成这些文件及目录:
现在可以执行第二步中的 buildproto.bat 批处理文件,执行完后在设置的对应目录下生成的lua文件了
通过以上步骤,基本就完成了proto文件转成lua操作,需要注意的点就是必须要有Python环境,Google protocol 模板,记住这两点基本就没问题了。如有问题,请留言评论!
ps:考虑到生成的lua文件在当前文件夹中,对于多个lua文件的时候,proto文件和lua放在一起不太方便,为此在buildproto.bat 文件中增加移动文件脚本,如下:
@echo off
for /f "delims=" %%i in ('dir /a-d /s /b *.lua') do (
move "%%i" E:\idea_workspace\code_warehouse\trunk\ProtocolDR\luaBuf
)
echo
echo success
ps:通过以上 protoc-gen-lua 转出来的lua文件 可能会出现 跨文件引用message 出现 attempt to index upvalue ‘message_type‘ (a nil value) 的错误,如有类似错误,可查看另外一篇文章解决:https://blog.youkuaiyun.com/qq_29473881/article/details/107975413