求jsb2.0demo

jsb2.0 绑定,按照官方的文档写的,在AppDelegate中这样调用se->addRegisterCallback(js_register_ns_JsbCC); js_register_ns_JsbCC是我在绑定的类中写的注册函数,但是编译的时候显示未定义引用js_register_ns_JsbCC,我在win32上可以跑过

这是我写的那个jsb_JsbCC_auto.cpp,有大神可以指出那有错吗?

#include “jsb_JsbCC_auto.hpp”
#include “JsbCC.h”
#include “cocos2d.h”;
USING_NS_CC;

static se::Object* __jsb_ns_JsbCC_proto = nullptr;
static se::Class* __jsb_ns_JsbCC_class = nullptr;

static bool js_JsbCC_finalize(se::State& s)
{
ns::JsbCC* cobj = (ns::JsbCC*)s.nativeThisObject();
delete cobj;
return true;
}
SE_BIND_FINALIZE_FUNC(js_JsbCC_finalize)

static bool js_JsbCC_constructor(se::State& s)
{
ns::JsbCC* cobj = new ns::JsbCC();
s.thisObject()->setPrivateData(cobj);
return true;
}

SE_BIND_CTOR(js_JsbCC_constructor, __jsb_ns_JsbCC_class, js_JsbCC_finalize)

static bool js_JsbCC_GetX(se::State& s) {
ns::JsbCC* cobj = (ns::JsbCC*)s.nativeThisObject();
cobj->GetX();
return true;
}
SE_BIND_FUNC(js_JsbCC_GetX);

static bool js_JsbCC_ShuChu(se::State& s) {
ns::JsbCC* cobj = (ns::JsbCC*)s.nativeThisObject();
cobj->ShuChu();
return true;
}
SE_BIND_FUNC(js_JsbCC_ShuChu);

static bool js_JsbCC_staticfunc(se::State& s) {
//ns::JsbCC* cobj = (ns::JsbCC*)s.nativeThisObject();
//cobj->ShuChu();
ns::JsbCC::staticfunc();
return true;
}
SE_BIND_FUNC(js_JsbCC_staticfunc);

bool js_register_ns_JsbCC(se::Object* obj)
{
CCLOG(“输出”);
//// 保证 namespace 对象存在
se::Value nsval;
if (!obj->getProperty(“ns”, &nsval))
{
//不存在则创建一个 js 对象,相当于 var ns = {};
se::HandleObject jsobj(se::Object::createPlainObject());
nsval.setObject(jsobj);

	 //将 ns 对象挂载到 obj 对象中,名称为 ns
	obj->setProperty("ns", nsval);
}
se::Object* ns = nsval.toObject();

// 创建一个 Class 对象,开发者无需考虑 Class 对象的释放,其交由 ScriptEngine 内部自动处理
auto cls = se::Class::create("JsbCC", ns, nullptr, _SE(js_JsbCC_constructor)); // 如果无构造函数,最后一个参数可传入 nullptr,则这个类在 JS 中无法被 new SomeClass()出来

// 为这个 Class 对象定义成员函数、属性、静态函数、析构函数
																				   // 为这个 Class 对象定义成员函数、属性、静态函数、析构函数
cls->defineFunction("GetX", _SE(js_JsbCC_GetX));
cls->defineFunction("ShuChu", _SE(js_JsbCC_ShuChu));

cls->defineFinalizeFunction(_SE(js_JsbCC_finalize));



// JSBClassType 为 Cocos 引擎绑定层封装的类型注册的辅助函数,此函数不属于 ScriptEngine 这层
//JSBClassType::registerClass<ns::JsbCC>(cls);

// 注册静态成员变量和静态成员函数
se::Value ctorVal;
if (ns->getProperty("JsbCC", &ctorVal) && ctorVal.isObject())
{
	//ctorVal.toObject()->setProperty("static_val", se::Value(200));
	ctorVal.toObject()->defineFunction("staticfunc", _SE(js_JsbCC_staticfunc));
}

// 注册类型到 JS VirtualMachine 的操作
cls->install();
// 保存注册的结果,便于其他地方使用,比如类继承
__jsb_ns_JsbCC_proto = cls->getProto();
__jsb_ns_JsbCC_class = cls;



//jsb_set_extend_property("ns", "JsbCC");
// 清空异常
se::ScriptEngine::getInstance()->clearException();
return true;

}