如果是 纯js 运行没问题
加上c++ 代码 ,里面有c++调用 js 的逻辑,然后编译出错
d:\cocos2d-js-v3.0\projects\happyqp\frameworks\js-bindings\external\spidermonkey\include\win32\js/Value.h(1241): error C2063: “JSVAL_TO_IMPL”: 不是一个函数
调用方法 如下 : 这段在ios 和 android 都没问题
CallJSFuncName(“sGameConfig”,“getConfigData”,0);
----cpp-----
jsval CallJS::CallJSFuncName(string jsname,string jsmethod,int count,…){
ScriptingCore* sc = ScriptingCore::getInstance();
JSContext* cx = sc->getGlobalContext();
JS::RootedValue nsval(cx);
jsval res;// 返回
if (JS_GetProperty(cx, sc->getGlobalObject(), jsname.c_str(), &nsval)) {
int argc = count;
jsval *argv = new jsval;
va_list insvalist;
va_start(insvalist,count);
for (int i = 0; i < count; ++i)
{
argv* = std_string_to_jsval(sc->getGlobalContext(),std::string(va_arg(insvalist,const char *)));
}
va_end(insvalist) ;
sc->executeFunctionWithOwner(nsval,jsmethod.c_str(),argc,argv,&res);
delete ] argv;
}
return res;
}
-----js-----*
var sGameConfig = {
}
sGameConfig.getConfigData = function(){
return “ok”
}
*
用的 vs2012 win7