Stati c поле в node.js нативном аддоне - PullRequest
0 голосов
/ 04 мая 2020

Как определить поле класса stati c в классе аддона узла? Он компилируется в Makefile, но выдает сбой на узле gyp с ошибкой LNK2019

Мой API:

#include "lobby/game_lobby.hpp"

Napi::String Update(const Napi::CallbackInfo& info)
{
    game_lobby::get(); // Doesn't compiles

    // Something to return
}
// Then other stuff

game_lobby:

class game_lobby : public singleton<game_lobby> {
    // Other stuff
}

singleton:

template<typename T>
T& singleton<T>::get () {
    static T* instance = new T();
    return *instance;
}

Как создать синглтон и использовать его в ноде addon api?

UPD: он также не работает, когда get () не имеет шаблона и наследования

UPD2: game_lobby.hpp

    // It doesn't work
    static game_lobby* get2 () {
        static game_lobby* instance = new game_lobby();
        return instance;
    }

    // It works
    static int& get3 () {
        static int* a = new int();
        return *a;
    }
...