我正在围绕V8引擎编写一个包装类,以便最终我能够做到这样的事情
script->createClass("Test");
script->getClass("Test")->addFunction("funct1",testfunct1);
script->getClass("Test")->addVariable("x",setter,getter);
到目前为止,我可以创建类并为它们添加函数,并且它可以正常工作,但是我遇到了添加变量的问题。
我的课程模板存储为
Persistent<Object> classInstance;
我试着像这样添加一个Accessor:
this->classInstance->SetAccessor(String::New(variableName),setter,getter);
编译这段代码会给我一个错误,即v8 :: Object没有SetAccessor函数(虽然我已经看过doxygen文档,否则就是这样)。
所以我的问题是:我该如何解决这个问题?是否可以将Object转换为ObjectTemplate?
答案 0 :(得分:4)
SetAccessor
上的Object
自2010年5月发布的V8 2.2.12开始提供。(在此之前,它确实仅在ObjectTemplate
上可用。)您应该更新你的V8副本。