protoc-gen-lua环境配置

1、先安装Python,这里提供下资料(python2.7;  https://pan.baidu.com/s/1Sc6R9qHdX7udPL2WNru4Zg;  9xfa )

  a>安装python就不细说了,安装完成后,输入CMD,再输入python;显示出如下图,表示你已经安装好;

 

 

   b>环境配置下;

 

 

 

2、protobuf-2.4.1,这里提供下资料(protobuf-2.4.1;  https://pan.baidu.com/s/1seLhEJWq1H5z9S_pzHxXVQ ;  wr5s )

   这里要用vs2013打开(注:本人用vs2019打开的时候,是打不开的)

 解压后,用编辑器打开

 

 

在 Visual Studio 2013 中将 下图中 红框 中的 test 项目 从项目中移除,要来没用。

 

 

 删除后的效果,如下图所示;

 

 

 

项目一个一个编译,不要一起编译。

首先来编译 libprotobuf 项目,肯定会出错。提示如下错误;

 

 

原因是Protobuf 中没有添加对应的头文件,在项目中 搜索打开 common.h ,添加对应头文件,如下图:

再次编译,就可以编译成功。

 

然后编译 第二个项目 libprotobuf-lite 。不会出错。

然后再编译 第三个项目 libprotoc 。肯定会出错,如下图  

 

双击定位错误,或者打开 command_line_interface.cc ,到913行 ,修改为如下图

 

再次编译,即可成功。

最后编译第四个 项目 protoc 。编译成功

然后到 protobuf-2.4.1\vsprojects\Debug 目录中找到生成的 protoc文件,这个文件就是用来生成Lua文件的,***重要,如下图红框中的文件

 

 

 

编译成功后,到 protobuf-2.4.1\Python 文件夹中直接用cmd执行命令  python setup.py install;这个命令的目的就是去下载;

这里有个坑,你直接输入进去,会出错,大意就是下载错误,给你报了个“ HTTP Error 403: SSL is required”,403的错误,如下图所示:

 

 解决方案:

a>:手动的用浏览器输入这个下载的地址: http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg;会下载一个文件【setuptools-0.6c11-py2.7.egg】;

b>:将这个下载好的文件【setuptools-0.6c11-py2.7.egg】,放到python文件夹下,如下图:

 

 c>:再次在python的文件夹,用cmd执行命令输入python setup.py install;这时弹出的窗体内容明显的不同,并且python文件夹下,新增了几个文件,表示你已经下载成功了;

 

 

 

至此;用protoc生成Lua的配置环境已经准备完毕了;

 

3、protoc-gen-lua ,这里提供下资料(protoc-gen-lua;  https://pan.baidu.com/s/1zSFEV3ViRTv_P9exmrJEmg  ;  9jif )

a>:在 plugin 目录 创建 批处理文件 protoc-gen-lua.bat  , 内容如下

@python "%~dp0protoc-gen-lua" 

b>:然后将 上一步 编译 protobuf-2.4.1 中生成的 protoc.exe 拷贝到  protoc-gen-lua-master 目录,如下图

 

 

c>:在 protoc-gen-lua-master 目录下创建批处理文件  buildproto.bat ,内容如下 

  1. rem 切换到.proto协议所在的目录  
  2. cd  protobuf\luascript  
  3. rem 将当前文件夹中的所有协议文件转换为lua文件  
  4. for %%i in (*.proto) do (    
  5. echo %%i  
  6. "..\..\protoc.exe" --plugin=protoc-gen-lua="..\..\plugin\protoc-gen-lua.bat" --lua_out=. %%i  
  7.   
  8. )  
  9. echo end  
  10. pause 

 

d>:这个批处理的作用是:先 进入到一个文件夹,然后将该文件夹中的 proto  文件 生成 lua 文件。 我这里是进入到 protoc-gen-lua-master\protobuf\luascript 。

所以我在 protobuf 目录下新建 目录 luascript   ,在该目录进行 proto 转换 lua 。如果需要在其它目录进行,要把上面批处理的内容修改目录为自己想要的。好,下面来测试一下。

在 protoc-gen-lua-master\example  目录下有一个测试的 proto 文件 person.proto ,把它拷贝到  luascript 文件夹。

然后 返回执行上面创建的批处理文件 buildproto.bat 。 

 

 

 

 

至此:整个生成的Lua文件的流程已经走通,OK;

谢谢浏览!

如有说,不对的地方,请大神们多多指出呀!相互学习下;

 

下篇准备写下:LuaFramework-UGUI中去配置protobuf-gen-lua环境;LuaFramework的作者已经帮我们写好了,我们只是配置下外部的环境而已,也是挺简单的;

 

posted @ 2021-06-20 20:32  匆匆,不惑之年  阅读(723)  评论(2)    收藏  举报