我想创建 nodejs 插件包装 C++ 类模板。我将示例类从“包装 C++ 对象”教程转换为模板。它编译没有错误,但我在使用它时出错。
node: symbol lookup error: /home/me/projects/node-template/build/Release/addon.node: undefined symbol: _ZN8MyObjectIdE4InitEN2v86HandleINS1_6ObjectEEE
插件.cc:
<...>
void InitAll(Handle<Object> exports) {
MyObject<double>::Init(exports);
}
<...>
我的对象.cc:
<...>
template <typename T>
MyObject<T>::MyObject() {};
template <typename T>
MyObject<T>::~MyObject() {};
template <typename T>
void MyObject<T>::Init(Handle<Object> exports) {
<...>
我的对象.h:
<...>
template <typename T>
class MyObject : public node::ObjectWrap {
public:
static void Init(v8::Handle<v8::Object> exports);
private:
MyObject();
~MyObject();
static v8::Handle<v8::Value> New(const v8::Arguments& args);
static v8::Handle<v8::Value> PlusOne(const v8::Arguments& args);
T counter_;
};