【求助】关于引擎定制的几个问题,卡好几天了

前提:目前改了CocosCreator\resources\engine\里面的js代码
根据官方文档中的流程设置之后
修改的代码在浏览器预览中可正常使用

期望:能在模拟器和打包发布的win和安卓版本中也使用这些修改的效果

============================割============================

问题1:是不是也需要改cocos2dx里面的代码?
先假定需要改cocos2dx,根据官方文档中的方式安装好2dx的编译依赖和并重新编译了模拟器
但是用模拟器运行,报错:

C:/CocosCreator/resources/cocos2d-x/simulator/win32/src/jsb_polyfill.js:24268:TypeError: this._sgNode.getSkins is not a function

问题2:是不是要进行jsb绑定?
因为问题1,所以就试用了下jsb绑定,
根据http://forum.cocos.com/t/js-c-jsb-jsbinding/37909这个帖子的教程
进行到resources\cocos2d-x\tools\tojs目录下运行 genbindings.py 这个文件时报错:

** File “C:\CocosCreator\resources\cocos2d-x\tools\bindings-generator\clang\cindex.py”, line 3400, in get_cindex_library**
** raise LibclangError(msg)**
LibclangError: [Error 193] %1 不是有效的 Win32. To provide a path to libclang use Config.set_library_path() or Config.set_library_file().
-------------------------------------
Generating javascript bindings fails.
-------------------------------------

因为官方说1.3之后只支持64位win,所以python之类都装64位的,是因为64位的问题吗?怎么解决?改装32?

这个取决于你修改了 engine 中的哪些代码。有些 js 代码修改会同时在 web 和 native 起效(比如 component 相关的改动)。有些则需要同步修改 C++ 代码。

如果 C++ 层没有新增需要暴露到 js 层的接口以及属性的话,并不需要重新进行 jsb 绑定。

不过从你遇到的运行模拟器报错来看,应该是新增了 getSkins 的接口?那就需要修改 C++ 代码,并且增加进行绑定。

这个报错看起来是生成绑定代码的环境问题。具体是什么原因,只能帮你 @pandamicro 了。

我也遇到这个问题

D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\tojs>genbindings.py
PYTHON_BIN not defined, use current python.
generating userconf.ini…
Generating bindings for box2d…
Using userconfig
[(‘androidndkdir’, ‘D:\Android\android-ndk-r10e’), (‘clangllvmdir’, ‘D:\Android\android-ndk-r10e\toolchains\llvm-3.6\prebuilt\windows-x86_64’), (‘creatordir’, ‘D:\GameSolution\CocosCreator\resources\cocos2d-x\cocos\editor-support\creator’), (‘cocosdir’, ‘D:\GameSolution\CocosCreator\resources\cocos2d-x’), (‘anysdk_common_dir’, ‘D:\GameSolution\CocosCreator\resources\cocos2d-x\external\ios\include\anysdk\common’), (‘anysdk_appstore_dir’, ‘D:\GameSolution\CocosCreator\resources\cocos2d-x\external\ios\include\anysdk\appstore’), (‘jsbdir’, ‘D:\GameSolution\CocosCreator\resources\cocos2d-x\cocos\scripting\js-bindings’), (‘cxxgeneratordir’, ‘D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\bindings-generator’), (‘extra_flags’, ‘-D__WCHAR_MAX__=0x7fffffff -U__MINGW32__’), (‘clang_include’, ‘lib/clang/3.6/include’)]

… Generating bindings for target spidermonkey

… … Processing section box2d

Traceback (most recent call last):
File “D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\bindings-generator/generator.py”, line 1631, in
main()
File “D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\bindings-generator/generator.py”, line 1626, in main
generator = Generator(gen_opts)
File “D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\bindings-generator/generator.py”, line 1052, in init
self.index = cindex.Index.create()
File “D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\bindings-generator\clang\cindex.py”, line 2090, in create
return Index(conf.lib.clang_createIndex(excludeDecls, 0))
File “D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\bindings-generator\clang\cindex.py”, line 141, in get
value = self.wrapped(instance)
File “D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\bindings-generator\clang\cindex.py”, line 3369, in lib
lib = self.get_cindex_library()
File “D:\GameSolution\CocosCreator\resources\cocos2d-x\tools\bindings-generator\clang\cindex.py”, line 3400, in get_cindex_library
raise LibclangError(msg)
LibclangError: [Error 193] %1 不是有效的 Win32. To provide a path to libclang use Config.set_library_path() or Config.set_library_file().

Generating javascript bindings fails.