在mac上使用protoc-gen-lua从proto文件生成lua

共2步:

  • 下载protobuf代码并安装protobuf python
  • 下载protoc-gen-lua并安装

关键词

  • protobuf
  • lua
  • mac

Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler. —— [ Google Protobuf ]

下载protobuf代码并安装protobuf python

首先从https://github.com/google/protobuf下载最新的protobuf(请注意自己需要使用的protobuf版本,由于protobuf可以跨语言使用,所以版本一致很重要),然后在Terminal中进入下载目录里的python目录下,运行python setup.py(如果有权限问题请在命令前加sudo;由于mac os 10.10自带python 2.7,所以省去了安装python的步骤)。

下载protoc-gen-lua并安装

请到https://github.com/sean-lin/protoc-gen-lua下载最新的protoc-gen-lua,然后在Terminal中进入下载目录下的protobuf目录,运行make。
此时可能遇到找不到pkg-config,请在Terminal中运行下列命令

curl http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz -o pkg-config-0.28.tar.gz
tar -xf pkg-config-0.28.tar.gz
cd pkg-config-0.28
./configure  --with-internal-glib
sudo  make install

之后再在protobuf目录下运行make。如果遇到无法找到lua.h文件,请到https://code.google.com/p/rudix/downloads/detail?name=lua-5.1.4-7.pkg&can=1&q=lua下载此lua并安装。如果再运行make后遇到无法找到endian.h问题,请在Terminal中运行xcode-select –install,并修改protobuf目录下的pb.c中的代码

#ifdef _ALLBSD_SOURCE
#include <machine/endian.h>
#else
#include <endian.h>
#endif

#include <machine/endian.h>

之后make应生成pb.so文件。
然后进入/usr/local/bin目录运行sudo ln -s /path/to/protoc-gen-lua/plugin/protoc-gen-lua,之后就可以使用protoc命令生成lua文件了

protoc --lua_out=./ foo.proto

参考

http://blog.sina.com.cn/s/blog_64d591e80101mkxx.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值