ulua proto配置

感谢tolua/ulua开发and维护的大神们。

最近项目用到ulua,项目使用protobuf,希望在项目发布后依然能够修改网络通信协议,所以希望在lua这边使用proto。
我使用的ulua的 LuaFrameWork框架代码来配置。看了一下ulua论坛的lua
proto使用说明说的比较精简,对于我第一次配置protobuf的人来说一下子没能搞明白,所以在网上捡了一些其它资料来搞通了,所以记录一下,也帮助正在折腾的人们。

目标:将.proto文件生成为.lua文件实现网络协议热更
我搭建时需要的资源:
1, LuaFramework: https://github.com/jarjin/LuaFramework_UGUI/tree/master/Assets
2,python2.7: https://www.python.org/download/releases/2.7/
3, protobuf-2.5.0 : https://github.com/REALDROOPY/protobuf-2.5.0
4 , protoc-gen-lua : https://github.com/topameng/protoc-gen-lua

步骤一:安装python 2.7,并且把python的安装路径配置到系统变量。

步骤二:
1,下载protobuf-2.5-master.zip后,里面有两个压缩包,都解压出来。

2,将protoc-2.5.0-win32.zip下解压出来的protoc.exe复制到protobuf-2.5.0/src下。

3,cmd cd 到protobuf-2.5.0\python下,依次执行命令python setup.py build 和 python setup.py install 命令。

步骤三:配置protoc-gen-lua工程。
1,来到下载的protoc-gen-lua工程,将刚才copy到src下的protoc.exe再copy到protoc-gen-lua根文件夹下。

2,在protoc-gen-lua\plugin下新建一个文件protoc-gen-lua.bat,里面内容如下:

?
1
@python "%~dp0protoc-gen-lua"

3,打开Unity LuaFramework_UGUI工程,打开代码Packager.cs,配置路径:

将路径设置为自己的配置,然后就可以用了:

4,Unity工具栏,点击LuaFramework->Build Protobuf-gen-lua File,就可以看到上面C#代码中配置的dir下的login.proto会被Build成login_pb.lua文件。

为了保证正常,可以将login_pb.lua删掉再试试看,是不是自己被生成的,因为项目本身会自带login_pb.lua。

至此,完成!

ulua proto配置相关推荐

  1. Android源码配置第三方应用电池白名单流程分析笔记

    这里以MTK6765 Android S举例说明,Android系统在加载客户应用白名单的过程. 首先Android系统可以根据不同手机厂商的需要进行源码的定制,当然定制应用白名单也是可以的,一般情况 ...

  2. 【Linux实用技术】LFS6.3构建实录

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 几点说明: 1.  本文档参考了 金步国在LinuxSir 上的文档和对 LFS 英文文档的翻译 . 2.  本 ...

  3. 浅析若干Java序列化工具

    在java中socket传输数据时,数据类型往往比较难选择.可能要考虑带宽.跨语言.版本的兼容等问题. 比较常见的做法有:1. 采用java对象的序列化和反序列化2. 把对象包装成JSON字符串传输3 ...

  4. socket通信数据类型

    在java中socket传输数据时,数据类型往往比较难选择.可能要考虑带宽.跨语言.版本的兼容等问题.比较常见的做法有两种:一是把对象包装成JSON字符串传输,二是采用java对象的序列化和反序列化. ...

  5. [转载] Java序列化的几种方式以及序列化的作用

    参考链接: Java中带有继承的对象序列化 文章转载自:  本文着重讲解一下Java序列化的相关内容. 如果对Java序列化感兴趣的同学可以研究一下. 一.Java序列化的作用 有的时候我们想要把一个 ...

  6. Coding in GPB vs XML

    written by NathanLiu 构建一个联系人的信息:姓名和email: 通过xml方式: <person> <name>John Doe</name> ...

  7. ProtocolBuffer在Swift中实践记录

    前几天搞了object-c中使用ProtocolBuffer,今天尝试在swift中也使用该协议进行传输协议. 折腾了一上午终于搞定了,记录下在部署中所遇到的坑和自己实现的步骤. 1.安装protoc ...

  8. .proto文件配置详解

    .proto示例代码如下: package tutorial;option java_package = "com.example.tutorial"; option java_o ...

  9. Centos6.5 配置  DRBD8.4.3

    废话不多说,现在开始: 1.2台虚拟机,Centos6.5系统,系统配置啥的都一样,能互相ping 通.把它们称为A和B. 2. A: server iptables stop             ...

最新文章

  1. linux查看日志的几种命令,Linux查看日志三种命令(转载)
  2. 这个AI让马斯克头秃,还能帮他设计特斯拉
  3. MATLAB的图像文件怎么标字母,用matlab对图片进行字符识别,只要能识别字母就行…十万火急!!请各位大侠们多多帮忙…...
  4. Android开发中的多线程编程技术
  5. ubuntu18.10的header文件搜索路径
  6. 引入我们全新的YouTube频道进行视频课程编程
  7. php imap配置,怎么为PHP编译imap扩展?
  8. Android Root原理初探
  9. 计算机一级学科评选,我系力学被评选为一级学科国家重点学科
  10. Python 水仙花数练习
  11. 通过加速或跳过网页视频解决进度条无法拖动问题
  12. buu——girlfriend
  13. 前端代码为什么会有低代码及无代码
  14. MATLAB怎么让三围图动起来,Matlab小技巧 -- 让图动起来!
  15. 2022擎创夏洛克AIOps智慧运营平台白皮书正式发布!
  16. iOS UILabel 使用姿势大全(标红关键字)
  17. 5. 使用Visual Studio App Center进行分析
  18. K8S中Busybox容器安装软件
  19. wince植入胎压监测_【陕西崛起】34——给速尊升级胎压监测
  20. Cisco认证网络设计专业人员 (CCDP)

热门文章

  1. Ubuntu最新版本(Ubuntu22.04LTS)安装nfs服务器及使用教程
  2. SCRM和CRM有什么区别?
  3. 学习笔记 | 产品报告
  4. (十)基于Linux算时差——超声波测距原理及代码实现
  5. linux命令生成二进制文件,如何创建Shell脚本的二进制文件
  6. 计算机网络第六章复习笔记(JLU复习版)
  7. 【Cesium】Cesium学习之CZML的使用
  8. 华为笔试:字符串加密(python版)
  9. Lifekeeper产品介绍与功能方面
  10. IT-银行运维-广告方案概述