在Quick-cocos2dx中使用云风pbc解析Protocol Buffers,支持win、mac、ios、android
https://github.com/miaodadao/pbc
https://code.google.com/p/protobuf/downloads/list ,本例下载:protoc-2.4.1-win32.zip
集成到win的x-player集成到mac的x-player集成到ios、ipad的quick-cocos2dx项目中集成到android的quick-cocos2dx项目中
https://code.google.com/p/protobuf/downloads/list
@echo offset DIR=%~dp0cd /d "%DIR%"setlocal enabledelayedexpansionfor /r %%i in (*.proto) do (
set pbname=%%i
set pbname=!pbname:~0,-5!b
protoc -I %DIR% --descriptor_set_out !pbname! %%i)echo "finished"
https://github.com/miaodadao/pbc
目录pbc-master下添加注册绑定Lua接口的头文件:pub-lua.h 内容如下:
#ifndef __LUA_PBC_EXTRA_H_#define __LUA_PBC_EXTRA_H_
#if defined(_USRDLL)#define LUA_EXTENSIONS_DLL __declspec(dllexport)#else /* use a DLL library */#define LUA_EXTENSIONS_DLL#endif
#if __cplusplusextern "C" {#endif
#include "lauxlib.h"
int LUA_EXTENSIONS_DLL luaopen_protobuf_c(lua_State *L);#if __cplusplus}#endif#endif
http://cn.quick-x.com/?p=253 Step 6: 编译 quick-x-player proj.win32 工程
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)
LOCAL_MODULE := quickextenpbcLOCAL_MODULE_FILENAME := libquickextenpbc
LOCAL_EXPORT_CFLAGS := -Wno-psabi -DUSE_FILE32API -DCC_LUA_ENGINE_ENABLED=1 -DDEBUG=1 -DCOCOS2D_DEBUG=1LOCAL_CFLAGS := -Wno-psabi -DUSE_FILE32API -DCC_LUA_ENGINE_ENABLED=1 -DDEBUG=1 -DCOCOS2D_DEBUG=1
LOCAL_WHOLE_STATIC_LIBRARIES := lua_pbc
include $(BUILD_STATIC_LIBRARY)$(call import-module,pbc-master)
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)
LOCAL_MODULE := lua_pbcLOCAL_MODULE_FILENAME := liblua_pbc
LOCAL_SRC_FILES := \src/alloc.c \src/array.c \src/bootstrap.c \src/context.c \src/decode.c \src/map.c \src/pattern.c \src/proto.c \src/register.c \src/rmessage.c \src/stringpool.c \src/varint.c \src/wmessage.c \binding/lua/pbc-lua.c \
LOCAL_C_INCLUDES+= \
src \
LOCAL_CFLAGS := -Wno-psabi -DUSE_FILE32API -DCC_LUA_ENGINE_ENABLED=1 -DDEBUG=1 -DCOCOS2D_DEBUG=1LOCAL_WHOLE_STATIC_LIBRARIES := cocos_lua_staticinclude $(BUILD_STATIC_LIBRARY)$(call import-module,scripting/lua/proj.android)
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := game_sharedLOCAL_MODULE_FILENAME := libgameLOCAL_SRC_FILES := hellocpp/main.cpp \../../sources/AppDelegate.cppLOCAL_C_INCLUDES := $(LOCAL_PATH)/../../sourcesLOCAL_CFLAGS += -Wno-psabi -DCC_LUA_ENGINE_ENABLED=1 -DDEBUG=1 -DCOCOS2D_DEBUG=1
LOCAL_WHOLE_STATIC_LIBRARIES := quickcocos2dxLOCAL_WHOLE_STATIC_LIBRARIES += quickextenpbc
include $(BUILD_SHARED_LIBRARY)
$(call import-module,lib/proj.android) \$(call import-module,luaproj.android)
http://cn.quick-x.com/?p=253
在Quick-cocos2dx中使用云风pbc解析Protocol Buffers,支持win、mac、ios、android的更多相关文章
- cocos2d-x 3.1 集成 云风pbc
cocos2d-x 3.x版本号变动比較大,从改用cmake管理整个项目,到使用python集成一体化的项目工具. 这些都是我喜欢的.我能够非常easy的在我的ubuntu上面搭建好开发环境,并且根本 ...
- (原)Ubuntu16中卸载并重新安装google的Protocol Buffers
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5782992.html 目前最新的是1.6.1 1. 卸载掉老版本的Protocol: sudo apt ...
- 云风pbc源码alloc.c
#include <stdlib.h> #include <stdio.h> // 用于统计内存的申请和释放次数匹配 ; void * _pbcM_malloc(size_t ...
- 【记录一个问题】云风的协程库 c conroutine无法在android下链接通过
链接出现以下错误: coroutine.c:139: undefined reference to `getcontext' coroutine.c:146: undefined reference ...
- Quick Cocos2dx Http通讯
服务端:Python 通讯协议:Http 参考文章: 1 用python实现一个基本的http server服务器 http://blog.sina.com.cn/s/blog_416e3063010 ...
- quick cocos2dx 3.x 配置win32工程
公司项目主体部分用c++,而ui部分用lua写,所以选择了用quick框架.项目先开发了ios/mac版,这两天试着配置其win32工程,遇到一些问题,记录一下(纯c++版本cocos2dx配置方法应 ...
- 转:云风skynet服务端框架研究
转: http://forthxu.com/blog/skynet.html skynet是云风编写的服务端底层管理框架,底层由C编写,配套lua作为脚本使用,可换python等其他脚本语言.sky ...
- quick cocos2d-x 入门---井字棋
学习quick cocos2d-x 第二天 ,使用quick-x 做了一个井字棋游戏 . 我假设读者已经 http://wiki.quick-x.com/doku.php?id=zh_cn阅读了这个链 ...
- 对云风 cstring 第二次解析
前言 从明天起 关心粮食和蔬菜 我有一所房子 面朝大海 春暖花开 本文前提条件 1.了解 posix 线程 2.了解 原子操作 3.具备简单C基础,或者 你也敲一遍. 如果上面不太清楚,你可以翻看我以 ...
随机推荐
- nginx location
1. “= ”,字面精确匹配, 如果匹配,则跳出匹配过程.(不再进行正则匹配) 2. “^~ ”,最大前缀匹配,如果匹配,则跳出匹配过程.(不再进行正则匹配) 3. 不带任何前缀:最大前缀匹配,举例如 ...
- Win异常: 除了chrome浏览器外,所有安装的软件都连不上网
经查找资料,是LSP被篡改,恢复后使用正常. 百度百科 LSP: Layered Service Provider, 即分层服务提程序,Winsock 作为应用程序的 Windows 的网络套接字工 ...
- extjs下拉框添加复选框
给ComboBox组件配置listConfig 下拉框代码: var gyslxcm = Ext.create('Ext.form.field.ComboBox',{ id : 'gyslxcm', ...
- SQL语句 常用条件判断
条件判断写法: 对每天记录执行操作时,判断所限制的条件-----> 操作符: = <>(不匹配检查) != &l ...
- thinkphp 中js 实现刷新
<input name="Button5" value="返回" id="Button5" style="width:56p ...
- YII 小部件实现的注册表
今天来进行用户注册功能yii集成了很多验证框架,framework/validators下面,这个文件夹的最后一个文件CValidator.php 是总的验证信息,根据请求参数决定需要那种验证 如:u ...
- bzoj2734: [HNOI2012]集合选数
Description <集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中 ...
- 转:.NET 环境中使用RabbitMQ
原文来自于:http://blog.jobbole.com/83819/ 原文出处: 寒江独钓 欢迎分享原创到伯乐头条 在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统 ...
- 【Java】ArrayList和LinkedList的区别
一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问 ...
- int 和String之间的互转
int -> String int i=12345;String s="";第一种方法:s=i+"";第二种方法:s=String.valueOf(i); ...