cocos3d-js绑定到C++的问题求解

参照的链接:http://www.cocos2d-x.org/wiki/Binding_Custom_Class_To_Js_Runtime
在终端jsb绑定的时候没成功,我把错误贴一下,感觉可能是ini文件配置出错,找个大神帮我解决一下
PYTHON_BIN not defined, use current python.
generating userconf.ini…
Generating bindings for cocos2dx_experimental_webView…
Using userconfig
[(‘androidndkdir’, ‘/Users/dodur/Documents/NDK_ROOT’), (‘clangllvmdir’, ‘/Users/dodur/Documents/NDK_ROOT/toolchains/llvm-3.6/prebuilt/darwin-x86_64’), (‘creatordir’, ‘/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x/cocos/editor-support/creator’), (‘cocosdir’, ‘/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x’), (‘jsbdir’, ‘/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings’), (‘cxxgeneratordir’, ‘/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x/tools/bindings-generator’), (‘extra_flags’, ‘’), (‘clang_include’, ‘lib/clang/3.6/include’)]

… Generating bindings for target spidermonkey

… … Processing section cocos2dx_experimental_webView

====
Errors in parsing headers:

  1. <severity = Warning,
    location = <SourceLocation file ‘/Users/dodur/Documents/NDK_ROOT/toolchains/llvm-3.6/prebuilt/darwin-x86_64/lib/clang/3.6/include/float.h’, line 86, column 9>,
    details = “‘FLT_DIG’ macro redefined”>
  2. <severity = Warning,
    location = <SourceLocation file ‘/Users/dodur/Documents/NDK_ROOT/toolchains/llvm-3.6/prebuilt/darwin-x86_64/lib/clang/3.6/include/float.h’, line 87, column 9>,
    details = “‘DBL_DIG’ macro redefined”>
  3. <severity = Warning,
    location = <SourceLocation file ‘/Users/dodur/Documents/NDK_ROOT/toolchains/llvm-3.6/prebuilt/darwin-x86_64/lib/clang/3.6/include/float.h’, line 106, column 9>,
    details = “‘FLT_MAX’ macro redefined”>
  4. <severity = Warning,
    location = <SourceLocation file ‘/Users/dodur/Documents/NDK_ROOT/toolchains/llvm-3.6/prebuilt/darwin-x86_64/lib/clang/3.6/include/float.h’, line 107, column 9>,
    details = “‘DBL_MAX’ macro redefined”>
  5. <severity = Warning,
    location = <SourceLocation file ‘/Users/dodur/Documents/NDK_ROOT/toolchains/llvm-3.6/prebuilt/darwin-x86_64/lib/clang/3.6/include/float.h’, line 114, column 9>,
    details = “‘FLT_MIN’ macro redefined”>
  6. <severity = Warning,
    location = <SourceLocation file ‘/Users/dodur/Documents/NDK_ROOT/toolchains/llvm-3.6/prebuilt/darwin-x86_64/lib/clang/3.6/include/float.h’, line 115, column 9>,
    details = “‘DBL_MIN’ macro redefined”>
    ====



    Generating bindings for cocos2dx_custom…
    Using userconfig
    [(‘androidndkdir’, ‘/Users/dodur/Documents/NDK_ROOT’), (‘clangllvmdir’, ‘/Users/dodur/Documents/NDK_ROOT/toolchains/llvm-3.6/prebuilt/darwin-x86_64’), (‘creatordir’, ‘/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x/cocos/editor-support/creator’), (‘cocosdir’, ‘/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x’), (‘jsbdir’, ‘/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x/cocos/scripting/js-bindings’), (‘cxxgeneratordir’, ‘/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x/tools/bindings-generator’), (‘extra_flags’, ‘’), (‘clang_include’, ‘lib/clang/3.6/include’)]
    Traceback (most recent call last):
    File “/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 1544, in
    main()
    File “/Users/dodur/Desktop/testJSForCPP/build/jsb-default/frameworks/cocos2d-x/tools/bindings-generator/generator.py”, line 1470, in main
    raise Exception(“No sections defined in config file”)
    Exception: No sections defined in config file

Generating javascript bindings fails.

另附加ini文件:
[cocos2dx_custom]

the prefix to be added to the generated functions. You might or might not use this in your own

templates

prefix = cocos2dx_custom

create a target namespace (in javascript, this would create some code like the equiv. to ns = ns || {})

all classes will be embedded in that namespace

target_namespace = cc

android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.7/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include -I%(androidndkdir)s/sources/cxx-stl/gnu-libstdc++/4.8/include
android_flags = -D_SIZE_T_DEFINED_

clang_headers = -I%(clangllvmdir)s/lib/clang/3.3/include
clang_flags = -nostdinc -x c++ -std=c++11

cocos_headers = -I%(cocosdir)s/cocos -I%(cocosdir)s/my -I%(cocosdir)s/cocos/base -I%(cocosdir)s/cocos/platform/android
cocos_flags = -DANDROID -DCOCOS2D_JAVASCRIPT

cxxgenerator_headers =

extra arguments for clang

extra_arguments = (android_headers)s (clang_headers)s (cxxgenerator_headers)s (cocos_headers)s (android_flags)s (clang_flags)s (cocos_flags)s (extra_flags)s

what headers to parse

headers = %(cocosdir)s/cocos/my/CustomClass.h

what classes to produce code for. You can use regular expressions here. When testing the regular

expression, it will be enclosed in “^", like this: "^Menu*”.

classes = CustomClass.*

what should we skip? in the format ClassName::[function function]

ClassName is a regular expression, but will be used like this: “^ClassName$” functions are also

regular expressions, they will not be surrounded by “^$”. If you want to skip a whole class, just

add a single “" as functions. See bellow for several examples. A special class name is "”, which

will apply to all class names. This is a convenience wildcard to be able to skip similar named

functions from all classes.

skip =

rename_functions =

rename_classes =

for all class names, should we remove something when registering in the target VM?

remove_prefix =

classes for which there will be no “parent” lookup

classes_have_no_parents =

base classes which will be skipped when their sub-classes found them.

base_classes_to_skip = Ref Clonable

classes that create no constructor

Set is special and we will use a hand-written constructor

abstract_classes =

Determining whether to use script object(js object) to control the lifecycle of native(cpp) object or the other way around. Supported values are ‘yes’ or ‘no’.

script_control_cpp = no

有人帮忙解决一下吗,感觉ini文件出错,但不知道怎么配置:joy:

设置路径的那个 -I%(androidndkdir)s -D_SIZE_T_DEFINED_ -nostdinc -x c++ -std=c++11
(cocosdir)s 这些 ()s 是什么意思

Python_bin undefined 说明你没有添加PYTHON_BIN这个环境变量,找到你的python.exe,添加为环境变量就行了。

MAC添加哪个文件 我那个是安装的时候自动添加的路径我也就没改
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"