Genbindings.py依然十年无解

你好,我是这么写的,为什么lua中不能直接使用
//MyScene.h
#ifndef MY_SCENE
#define MY_SCENE

class MyScene
{
public:

bool test();

};
#endif

//MyScene.cpp
#include “MyScene.h”

bool MyScene::test()
{
return 1;
}

//ini

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

templates

prefix = cocos2dx_my

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
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/cocos/2d -I%(cocosdir)s/cocos/base -I%(cocosdir)s/cocos/ui -I%(cocosdir)s/cocos/physics -I%(cocosdir)s/cocos/2d/platform -I%(cocosdir)s/cocos/2d/platform/android -I%(cocosdir)s/cocos/math/kazmath -I%(cocosdir)s/extensions -I%(cocosdir)s/external -I%(cocosdir)s/cocos/editor-support -I%(cocosdir)s

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/MyScene.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 = MyScene.*

what should we skip? in the format ClassName::

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 =

classes that create no constructor

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

abstract_classes = Skeleton SkeletonAnimation

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

//**.lua
lua中直接用:
local tt = MyScene:test()

太长,只看开始和后面。
target_namespace = cc cc是命名空间,不知道起作用了没,如果还没起作用要在ns_map【具体忘记了】登记。
test函数不是全局或静态函数,使用的时候要先要有对象才可以‘搞’。

生成的过程应该有报错吧,%(cocosdir)s/cocos/my这个目录要加到cocos_headers里

是啊是啊,烦的很