将protubuf放置在external文件夹

在vs工程里的luacocos2d里新建筛选器protubuf,将pb.c加入到该筛选器下.

将pb.c文件的属性里设置改文件编译为C文件.

将luastruct放置在external的lua下

在vs工程里的luacocos2d里新建筛选器luastruc,将struct.c加入到该筛选器下.

将struct.c文件的属性里设置改文件编译为C文件.

然后在lua_module_rigister.cpp里进行注册.加入以下代码

#ifdef __cplusplus
extern "C" {
#endif
int luaopen_protobuf_c(lua_State *L);
int luaopen_struct(lua_State* L);
#ifdef __cplusplus
}
#endif

在lua_module_register函数里添加

luaopen_protobuf_c(L);
luaopen_struct(L);

至此protubuf就可在windows上运行了.但是Android上还不行.

修改frameworks\cocos2d-x\cocos\scripting\lua-bindings\proj.android下的Android.mk文件

#network
LOCAL_SRC_FILES += ../../../../external/protobuf/pb.c
#luastruct
LOCAL_SRC_FILES += ../../../../external/lua/luastruct/struct.c

至此andriod也可以运行.

在lua中使用则仍需在

lua工程目录下添加protubuf的lua代码.

至此protubuf就可以在lua中使用.

但是如果应用到实战中,仍需使用luasocket或者websocket先读到数据包,再使用protubuf解析出来实际数据.

protubuf在cocos2dx的应用安装的更多相关文章

  1. Cocos2d-x v3.1 安装图文教程(二)

       Cocos2d-x v3.1 安装图文教程(二) 如果我们需要在Android平台上运行就必须安装android的SDK,如果我们只想在window上运行就只需要安装Cocos2d-x就行了.当 ...

  2. android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)

    引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...

  3. cocos2d-x 3.0 安装及创建项目

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/LanerGaming/article/details/24146921 好久没实用过cocos2d- ...

  4. 自定义路径创建Cocos2d-x项目

    自定义路径创建Cocos2d-x项目 本文介绍windows下面如何优雅的创建Cocos2d-x项目.为何称之为优雅,是因为现在网上流传的一些创建方法有一些问题.大致内容如下: l  使用VS向导创建 ...

  5. cocos2dx系列笔记(1)- windows环境配置前篇

    cocos2dx升级之旅,请多指教~ 本篇是本人搭建cocos2dx-Windows 64位环境的配置说明,仅供参考. 开发准备 搭建环境肯定需要准备好所有工具,只有把工具都准备好了,才能撸起袖子干活 ...

  6. Ubuntu 13.04 配置Cocos2d-x记录

    装备工作: 下载JavaJDK  http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载NDKhttp://deve ...

  7. cocos2dx 3.17(Windows下) 接入skynet和sprotol

    大致流程一致,但是他的github上的版本,没有Windows的版本.打开他的win的工程会提示缺少一个模块. 本人环境 cocos2dx 3.17.1 当前最新 skynet-无视-当前最新 VS2 ...

  8. 应用商店后台MIS的一些思考

    1.有些签名验证的工作应该在开发者上传APP的时候进行校验: 1)如果是更新新版本(包名packagename一致),那么需要验证两个APK的包的签名是否一致,不一致的,应该限制上传,除非先下架旧的A ...

  9. 如何在macox下面配置集成ios和android游戏教程

    教程截图: 1.准备工作,配置开发环境: 开发环境:mac ox 10.7.3  +   xcode4.2  + ndk r7 + eclipse helios 部署环境:中兴v880  root过了 ...

随机推荐

  1. JS操作JSON的方法总结

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  2. python定制类(以Fib类为例)

    class Fib(object): def __init__(self): self.a, self.b = 0, 1 def __iter__(self): return self def __n ...

  3. JSONObject put accumulate element 方法区别-------java中

    1.public Object put (Object key, Object value) 将value映射到key下.如果此JSONObject对象之前存在一个value在这个key下,当前的va ...

  4. android操作ini工具类

    package com.smarteye.common; import java.io.BufferedReader; import java.io.BufferedWriter; import ja ...

  5. Linux命令之修改主机名

    ubuntu永久修改主机名 1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方法: 其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后: 其二,在终端 ...

  6. Hive入门之UDFS函数

    一.UDFS函数介绍 1. 基本UDF (1)SHOWFUNCTIONS:这个用来熟悉未知函数. DESCRIBE FUNCTION<function_name>; (2)A IS NUL ...

  7. VC++学习之进程和线程的区别

    VC++学习之进程和线程的区别 一.进程        进程是表示资源分配的基本单位,又是调度运行的基本单位.例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格.内存空间.磁盘 ...

  8. 几篇SIEM文章

    http://infosecnirvana.com/tag/siem-rule-types/ http://www.tripwire.com/state-of-security/security-da ...

  9. DDR、DDR2、DDR3产品区别

    DDR采用一个周期来回传递一次数据,因此传输在同时间加倍,因此就像工作在两倍的工作频率一样.为了直观,以等效的方式命名,因此命名为DDR 200 266 333 400. DDR2尽管工作频率没有变化 ...

  10. PCB流程-外型加工