目录
- 摘要
- 环境
- 资源
- 并未正式开始
- 思路
- 问题
- 参考
摘要
本文本来是想介绍JSB自动绑定,但在为自动绑定工具搭建运行环境时,发现对运行环境的要求有些苛刻。python,yaml,cheetah都需要32位的版本,可我机器上装的都是64位的版本。如果重新安装,不确定会对现有的工具有什么影响。故在此只对一些资源、工具以及思路做一些记录,之后如果有心思折腾,再重新整理。
环境
- Python 2.7.3 (32bit)
- PyYAML 3.10 (32bit)
- Cheetah 2.4.4 (32bit)
- NDK r16
资源
- 官方教程
- bindings-generator
- Python 2.7.3 (32bit)
- PyYAML 3.10 (32bit)
- Cheetah 2.4.4 (32bit)
- NDK r16
- LLVM
并未正式开始
思路
自动绑定工具由两部分组成,一个bindings-generator,负责生成代码,一个tojs,负责相关配置。
他们可以在Cocos Creator的安装目录下的cocos2d-x/tools目录中找到,例如我的在
D:CocosDashboard_1.0.14resources.editorsCreator2.4.4resourcescocos2d-xtools
如果环境搭建完成,并对需要绑定的类进行了配置,那么执行genbindings.py脚本,就会在Cocos Creator安装目录/cocos2d-x/cocos/scripting/js-bindings/auto目录下生成hpp和cpp文件,其中就是绑定的相关代码。
这里注意到,生成的文件是在Cocos Creator安装目录下,这么直接在Cocos Creator安装目录折腾并不太好。
同时,tojs目录下有许多自带的ini配置,每次运行genbindings.py脚本均会重新生成所有的绑定代码。如果之前有手动更改绑定代码,这样执行就会将手动修改的部分直接覆盖掉。
所以计划是将自动绑定工具(bindings-generator和tojs)拷贝出来单独存放,生成的绑定代码再手动拷贝到构建工程中。
问题
Cocos Creator 2.4.4中自带的bindings-generator与资源中的bindings-generator是相同的,都是需要32位版本的环境。
引用自资源中bindings-generator的README.md:
Windows 7 64bit
- Download python2.7.3 (32bit) from (http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi).
- Add the installed path of python (e.g. C:Python27) to windows environment variable named ‘PATH’.
- Download pyyaml from http://pyyaml.org/download/pyyaml/PyYAML-3.10.win32-py2.7.exe and install it.
- Download Cheetah-2.4.4.tar.gz, extract and install it by python setup.py.
- Download NDK r16 from google
- Set the environment variables (PYTHON_ROOT and NDK_ROOT) or just them in test.bat.
- Run “test.bat”. The generated codes will be under “simple_test_bindings”.
我尝试从 http://releases.llvm.org/download.html#5.0.0 下载Windows 64-bit版本的LLVM,Clang for Windows (64-bit),安装后从安装目录下找到libclang.dll,并将其拷贝到bindings-generator/libclang目录中替换原先的libclang.dll,但依旧没有让脚本成功运行。
可能是工具中的其他脚本都是针对32-bit进行编写的,没有对64-bit进行兼容。
参考
- 解决LibclangError: [Error 193] %1 不是有效的 Win32. To provide e Config.set_library_path() or Config.
最后
以上就是传统小天鹅最近收集整理的关于Cocos Creator JSB [Lv.2] TODO的全部内容,更多相关Cocos内容请搜索靠谱客的其他文章。
发表评论 取消回复