jsb 自动绑定
来源:互联网 发布:卖家加入农村淘宝好吗 编辑:程序博客网 时间:2024/06/05 18:17
第一部分:配置安装环境
cxx-generator是由Zynga工程师贡献的C++代码绑定到js工具。用于将cocos2d-x 的c++代码,生成相应的js绑定代码(由c++写成),然后将这些函数注册到spidermonkey的解释器中。通过将js代码映射成c++代码,就可以使用相应的js接口了。
所需要的环境
mac os x系统
- python2.7
- py-yaml
- cheetah (for target language templates)
- libclang, from clang 3.1
前三个可以通过macports自动安装
macports下载地址
http://www.macports.org/install.php
注意选择适合你的系统版本,另外该页也注明了安装中常见的系统问题,一共四条。
在安装macports时,有可能会卡在最后一分钟,那么需要重启后断网安装即可。
在终端上运行此命令,安装前三个软件
vim .profile
PATH=$PATH:/opt/local/bin:/opt/local/sbin
退出/opt/local/bin:/opt/local/sbin
sudo port install python27 py27-yaml py27-cheetah
安装对网络有一定要求,部分地区可能要自备梯子
输入: $ sudo port -v selfupdate (强烈推荐第一次运行的时候使用-v参数,显示详细的更新过程)
下载clang
http://llvm.org/releases/3.1/clang+llvm-3.1-x86_64-apple-darwin11.tar.gz
下载NDK
绑定例子中,用到了部分c++标准库接口,所以需要提供相应代码实现,工具中,采用ndk实现。不太明白为什么没有直接用xcode中的标准库。
http://dl.google.com/android/ndk/android-ndk-r8d-darwin-x86.tar.bz2
第二步,生成绑定代码
复制 userconf.ini.sample 和 user.cfg.sample 并去掉sample后缀
添加自己的路径,我的是多系统所以路径有点特别
//user.cfg
PYTHON_BIN=/opt/local/bin/python2.7
//userconf.ini
[DEFAULT]
androidndkdir=/Volumes/data/Mac_OS_X/android-ndk-r8b
clangllvmdir=/Volumes/data/Mac_OS_X/clang+llvm-3.1-x86_64-apple-darwin11
cxxgeneratordir=/Volumes/data/Workspace/cocos2d-2.1beta3-x-2.1.0/tools/cxx-generator
最后,由终端运行
sudo ./test.sh
生成simple_test_bindings文件夹,下面就是绑定好的c++代码了。
第三步,集成测试
懒省事直接拿TestJavaScript例子开刀,倒入两个文件夹simple_test和simple_test_bindings
在AppDelegate.cpp中,倒入头文件
#include "autogentestbindings.hpp"
并注册
sc->addRegisterCallback(register_all_autogentestbindings);
在tests-boot-jsb.js中,添加测试代码
var myClass=new ts.SimpleNativeClass();
var myStr=myClass.returnsACString();
cc.log(myStr);
控制台输出
this is a c-string
- jsb 自动绑定
- jsb 自动绑定
- Cocos2d-x JSB 自动绑定bindings
- Cocos2d-x JSB 自动绑定bindings
- Cocos2d-JS自动JSB绑定规则修改
- Cocos2d-JS自动JSB绑定规则修改
- Cocos2d-JS自动JSB绑定规则修改
- Cocos2d-JS自动JSB绑定规则修改
- JSB CCDictionary CCDictionary to JSB CCDictionary绑定jsb plist file
- JavaScript强化教程 —— Cocos2d-JS自动JSB绑定规则修改
- Cocos2d-js JSB绑定学习笔记
- 更新(2014-2-13)cocos2dx 3.0 beta2 JSB 绑定
- jsb cocos2dx 绑定过程中遇到的问题
- sencha touch2.x 自动提示配置 eclipse spket jsb
- cocos2d-js 3.0 RC0 手动绑定 C++调用js,js调用C++ jsb
- js绑定c++(JSB或者jsbinding)的小白教程! (已完结)
- js绑定c++(JSB或者jsbinding)的小白教程! (已完结)
- CocosCreator 怎么添加JSB绑定的C++类到场景中
- Android - 小功能 - Android短信功能实现源码
- matlab中的plot
- Spring dao框架——操作clob和blob数据类型
- 图片之间的过渡效果用fireworks怎么实现?
- java 正确 连接 bae 3.0 MySQL 最简单有效的方法
- jsb 自动绑定
- COM组件初始化
- Robotium环境搭建与新手入门教程
- hdu_2553
- NYOJ-17 单调递增最长子序列 两种方法(动态规划,贪心+二分查找)
- libusb和libusbk以及winusb
- 编程秘籍
- Java中的各种bean对应的意义(VO,PO,BO,QO, DAO,POJO,DTO)
- 设计模式--模板方法模式Template method(类行为型)