I want to create nodejs addon wrapping C++ class template. I converted example class from "Wrapping C++ objects" tutorial to template. It compiles without errors but I get error upon using it.
node: symbol lookup error: /home/me/projects/node-template/build/Release/addon.node: undefined symbol: _ZN8MyObjectIdE4InitEN2v86HandleINS1_6ObjectEEE
addon.cc:
<...>
void InitAll(Handle<Object> exports) {
MyObject<double>::Init(exports);
}
<...>
myobject.cc:
<...>
template <typename T>
MyObject<T>::MyObject() {};
template <typename T>
MyObject<T>::~MyObject() {};
template <typename T>
void MyObject<T>::Init(Handle<Object> exports) {
<...>
myobject.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_;
};