mac 上使用protoc-gen-lua 生成lua 所遇到的一些坑
2017-09-06 17:20
627 查看
基本步骤:
Terminal控制台相关命令:
protobuf安装:
1.下载protobuf-2.6.1.tar.gz –这里以2.6.1版本为例
2.打开mac Terminal 终端 进入到下载目录
解压:
创建文件夹:
进入protobuf-2.6.1
设置编译目录:
安装
配置环境变量:
完成检测
如果这里有问题 没有办法找到 就直接将生成文件的目录下的protobuf/bin/protoc 拷贝到usr/local/bin/目录下,usr文件为隐藏文件
2.安装lua
下载
解压后进入 lua-5.1.5
安装
完成检测
3.安装pkg-config-0.28.tar.gz
下载解压并进入pkg-config-0.28文件夹
设置编译目录:
安装
4.安装protoc-gen-lua
下载
安装
解压后进入到该目录子目录protobuf后执行make 如果出现”lua.h” 或者”endian.h”的报错
lua.h问题可能是没有lua 没有装好,或者是bin目录下没有lua.pc文件 还有一种可能就是将protobuf/Makefile用编辑器打开将里面的内容替换并保存
endian.h问题报错需要修改protobuf/pb.c文件,用编辑器打开替换内从并保存
解决了错误后继续在protobuf目录下执行make 命令 成功了会生成一个pb.so的文件
将protobuf同级目录下的plugin protoc-gen-lua 以及生成的pb.so拷贝到/usr/local/bin 目录下就大功告成了
参考资料:
在mac上使用protoc-gen-lua从proto文件生成lua
Mac安装Protobuf编译Java
protobuf 实战(1)mac安装篇
Mac OS X 上Lua的安装方法
以上文档给了我很多帮助, 也谢谢公司的同事给予的帮助
当然新建完成了如何批处理生成lua的pb文件呢创建一个文件夹,文件夹下新建一个文本命名以.sh结尾讲下列代码拷贝到文本中
eg: protoBuild.sh
将需要导出的proto文件拷贝到当前目录,在Terminal中进入到当前目录 输入
当然你可以将文中的./*proto的输入路径和lua_out=./的输出路径换成你自己的工程目录路径,就更方便了
1.protobuf安装 2.lua安装 3.pkg-config的安装 4.protoc-gen-lua安装
Terminal控制台相关命令:
cd 文件名 进入 ls 当前目录文件展示 tar -xf 压缩包名 解压 sudo 管理员指令执行 mkdir 文件夹名 创建文件夹 在写入文件的时候: i 为insert 则是启动编辑模式 Esc退出编辑模式 输入:wq! 保存并退出
protobuf安装:
1.下载protobuf-2.6.1.tar.gz –这里以2.6.1版本为例
2.打开mac Terminal 终端 进入到下载目录
解压:
tar -xf protobuf-2.6.1.tar.gz
创建文件夹:
mkdir protobuf
进入protobuf-2.6.1
cd protobuf-2.6.1/
设置编译目录:
./configure --prefix=/Users/jose/Downloads/protobuf prefix=后的路径具体即是你的编译路径,看你自己
安装
make sudo make install
配置环境变量:
sudo vi .bashprofile /*进入到环境变量文件按I键进行编辑*/ export PROTOBUF=/Users/jose/Downloads/protobuf export PATH=$PROTOBUF/bin:$PATH
完成检测
protoc --version
如果这里有问题 没有办法找到 就直接将生成文件的目录下的protobuf/bin/protoc 拷贝到usr/local/bin/目录下,usr文件为隐藏文件
2.安装lua
下载
lua-5.1.5.tar.gz
解压后进入 lua-5.1.5
安装
sudo make macosx
完成检测
make test
3.安装pkg-config-0.28.tar.gz
下载解压并进入pkg-config-0.28文件夹
设置编译目录:
./configure --with-internal-glib
安装
sudo make install
4.安装protoc-gen-lua
下载
[protoc-gen-lua下载](https://github.com/sean-lin/protoc-gen-lua)
安装
cd protoc-gen-lua-master/protobuf/ make
解压后进入到该目录子目录protobuf后执行make 如果出现”lua.h” 或者”endian.h”的报错
lua.h问题可能是没有lua 没有装好,或者是bin目录下没有lua.pc文件 还有一种可能就是将protobuf/Makefile用编辑器打开将里面的内容替换并保存
CFLAGS=`pkg-config --cflags lua5.1` -std=gnu99 LDFLAGS=`pkg-config --libs lua5.1` /*替换为*/ CFLAGS=`pkg-config --cflags lua` -std=gnu99 LDFLAGS=`pkg-config --libs lua`
endian.h问题报错需要修改protobuf/pb.c文件,用编辑器打开替换内从并保存
#ifdef _ALLBSD_SOURCE #include <machine/endian.h> #else #include <endian.h> #endif /*替换为*/ #include <machine/endian.h>
解决了错误后继续在protobuf目录下执行make 命令 成功了会生成一个pb.so的文件
将protobuf同级目录下的plugin protoc-gen-lua 以及生成的pb.so拷贝到/usr/local/bin 目录下就大功告成了
参考资料:
在mac上使用protoc-gen-lua从proto文件生成lua
Mac安装Protobuf编译Java
protobuf 实战(1)mac安装篇
Mac OS X 上Lua的安装方法
以上文档给了我很多帮助, 也谢谢公司的同事给予的帮助
当然新建完成了如何批处理生成lua的pb文件呢创建一个文件夹,文件夹下新建一个文本命名以.sh结尾讲下列代码拷贝到文本中
eg: protoBuild.sh
#!/bin/bash for file in ./*.proto do if test -f $file then protoc $file --lua_out=./ fi done
将需要导出的proto文件拷贝到当前目录,在Terminal中进入到当前目录 输入
. protoBuild.sh /*为你的文件名*/
当然你可以将文中的./*proto的输入路径和lua_out=./的输出路径换成你自己的工程目录路径,就更方便了
相关文章推荐
- 在mac上使用protoc-gen-lua从proto文件生成lua
- protoc-gen-lua extensions正确的使用方式
- 关于用c生成的dll在使用其他供应商的工具创建可执行模块时遇到的一些问题
- 使用Mac OS X的Terminal.app,用uuidgen命令生成一个128bit的UUID
- mac os x 下的 编译 protoc-gen-lua 的pb.so
- unity 中 protoc-gen-lua 生成 lua 文件
- 使用protoc-gen-lua-master需要注意的问题
- protoc-gen-lua中使用 Repeated 标签
- protoc-gen-lua 编译、安装、使用教程
- MAC 上使用MySQL Workbench工具管理mysql数据库时遇到的一些问题及解决方法
- 用protoc-gen-lua生成PB的lua代码
- 在windows 上 protoc-gen-lua 生成对应pb文件
- protoc-gen-lua 编译、安装、使用教程
- 使用自动生成Mipmap时遇到的一些问题
- Cocos2d-Lua 3.12 生成绑定 导出C++类给LUA调用( tolua genbindings.py 的使用)
- protoc-gen-lua 编译、安装、使用教程
- protoc-gen-lua 编译、安装、使用教程
- SLua 绑定 Protobuf-Lua (protoc-gen-lua) 在SLua中使用 Protobuf
- protoc-gen-lua 编译、安装、使用教程
- Cocos2d-Lua 3.12 生成绑定 导出C++类给LUA调用( tolua genbindings.py 的使用)