js绑定c++(JSB或者jsbinding)的小白教程! (已完结)

1:python2.7.3一定要win32版本;2:执行。py脚本一定要进入当前目录上执行;3:最坑的是文件目录不能太深,最好是新建项目生成绑定文件。

1赞

请教一个个问题, 1. sb_jsbTest_auto.cpp文件和jsb_jsbTest_auto.hpp 文件不是运行 genbindings.py产生的吗? 为啥要把.h和.cpp文件移动或者复制到:
jsbTest(项目根目录)\build\jsb-default\frameworks\runtime-src\Classes 后才会生成sb_jsbTest_auto.cpp文件和jsb_jsbTest_auto.hpp 文件。

抱歉我没有理解你这句话的意思

有没有creator mac xcode版的:7:

E:\CocosCreator\resources\cocos2d-x\tools\tojs>genbindings.py
PYTHON_BIN not defined, use current python.
generating userconf.ini…
Generating bindings for cocos2dx…
Using userconfig
[(‘androidndkdir’, ‘D:\ANDROID\android-ndk-r10e’), (‘clangllvmdir’, ‘D:\AND
ROID\android-ndk-r10e\toolchains\llvm-3.6\prebuilt\windows-x86_64’), (‘crea
tordir’, 'E:\CocosCreator\resources\cocos2d-x\cocos\editor-support\creator
'), (‘cocosdir’, ‘E:\CocosCreator\resources\cocos2d-x’), (‘jsbdir’, ‘E:\Coco
sCreator\resources\cocos2d-x\cocos\scripting\js-bindings’), (‘cxxgeneratord
ir’, ‘E:\CocosCreator\resources\cocos2d-x\tools\bindings-generator’), (‘ext
ra_flags’, ‘-D__WCHAR_MAX__=0x7fffffff -U__MINGW32__’), (‘clang_include’, ‘lib/c
lang/3.6/include’)]

… Generating bindings for target spidermonkey

… … Processing section cocos2d-x

C:\Python27_32\lib\site-packages\Cheetah\Compiler.py:1509: UserWarning:
You don’t have the C version of NameMapper installed! I’m disabling Cheetah’s us
eStackFrames option as it is painfully slow with the Python version of NameMappe
r. You should get a copy of Cheetah with the compiled C version of NameMapper.
"\nYou don’t have the C version of NameMapper installed! "
Traceback (most recent call last):
File “E:\CocosCreator\resources\cocos2d-x\tools\bindings-generator/generator.p
y”, line 1550, in
main()
请教一下命令行执行这个出错是什么意思

我绑定最后 出现这个错误


yaml 这个文件夹在 python里面存在 不知道什么原因??

我也出现这这个问题了,而且我已经安装了yaml,但是还是报这个错。。怎么搞

1赞

怎么联系你学习呀?有Q么?私下问你

我先告诉你我的QQ2101175970 下次有问题直接Q问你

绑定成功并修改onLoad后,要怎么预览?用VS打开哪个工程?

如果是修改c++里面的方法,不用做什么,只需要重新编译就行,
如果添加了方法(函数),要添加到public里才行,
环境配好了,直接在genbindings.py这个文件的目录里打开命令行python genbindings.py 看到提示成功就可以了

请问一下,这个能直接在creator里面调用吗?我按照不走,都不会出问题,但是在creator里面调用C++代码,就挂掉了,不认识它:joy_cat:

请问一下,这个能直接在creator里面调用吗?我按照不走,都不会出问题,但是在creator里面调用C++代码,就挂掉了,不认识它:joy_cat:

请问一下,这个能直接在creator里面调用吗?我按照步骤,都不会出问题,但是在creator里面调用C++代码,就挂掉了,不认识它:joy_cat:

Errors in parsing headers:

  1. <severity = Fatal,
    location = <SourceLocation file ‘E:\software\Android\Sdk\ndk-bundle/platforms/android-14/arch-arm/usr/include\android/log.h’, line 70, column 10>,
    details = “‘stdarg.h’ file not found”>
    ====

*** Found errors - can not continue
Traceback (most recent call last):
File “E:\CocosCreator\resources\cocos2d-x\tools\bindings-generator/generator.py”, line 1550, in
main()
File “E:\CocosCreator\resources\cocos2d-x\tools\bindings-generator/generator.py”, line 1546, in main
generator.generate_code()
File “E:\CocosCreator\resources\cocos2d-x\tools\bindings-generator/generator.py”, line 1203, in generate_code
self._parse_headers()
File “E:\CocosCreator\resources\cocos2d-x\tools\bindings-generator/generator.py”, line 1246, in _parse_headers
raise Exception(“Fatal error in parsing headers”)
Exception: Fatal error in parsing headers

Generating javascript bindings fails.

PS E:\CocosCreator\resources\cocos2d-x\tools\tojs>

这是 什么原因? 配置完环境,验证是否配置成功的时候就这样了

我这边cocos creator构建发布需要python2.x(64位),但是jsbinding时需要python2.7(32位)(否则报错 libclangError: [Error 193] %1不是有效的win32,这样有冲突需要怎么设定呢?

1赞

请问这里是 重新生成是这个解决方案吗?我生成了一堆错误出来.
错误 590 error C2059: 语法错误:“)” e:\xzbworkspace\newproject111\build\jsb-default\frameworks\cocos2d-x\external\win32\include\spidermonkey\mozilla\mathalgorithms.h 519
错误 14 error C2059: 语法错误:“)” (…\auto\jsb_box2d_auto.cpp) e:\xzbworkspace\newproject111\build\jsb-default\frameworks\cocos2d-x\external\win32\include\spidermonkey\mozilla\MathAlgorithms.h 519
错误 29 error C2059: 语法错误:“)” (…\auto\jsb_cocos2dx_audioengine_auto.cpp) e:\xzbworkspace\newproject111\build\jsb-default\frameworks\cocos2d-x\external\win32\include\spidermonkey\mozilla\MathAlgorithms.h 519
错误 47 error C2059: 语法错误:“)” (…\auto\jsb_cocos2dx_auto.cpp) e:\xzbworkspace\newproject111\build\jsb-default\frameworks\cocos2d-x\external\win32\include\spidermonkey\mozilla\MathAlgorithms.h 519
错误 39 error C2059: 语法错误:“)” (…\auto\jsb_cocos2dx_dragonbones_auto.cpp) e:\xzbworkspace\newproject111\build\jsb-default\frameworks\cocos2d-x\external\win32\include\spidermonkey\mozilla\MathAlgorithms.h 519
错误 73 error C2059: 语法错误:“)” (…\auto\jsb_cocos2dx_extension_auto.cpp) e:\xzbworkspace\newproject111\build\jsb-default\frameworks\cocos2d-x\external\win32\include\spidermonkey\mozilla\MathAlgorithms.h 519
错误 154 error C2059: 语法错误:“)” (…\auto\jsb_cocos2dx_network_auto.cpp)

…省略

这个能直接在creator里面调用吗?怎么调用啊:joy:

我也遇到这个问题,你解决了吗?

同求。。。

怎么能在js绑定文件中 找到Classes中的文件呢???