共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