Singleton en un DLL?

Así que estoy tratando de exportar algunas cosas en un proyecto a DLL. De todos modos, algunos de los proyectos utilizan una clase de singleton en gran medida.

template <typename T>
class DLL_IMP VA_Singleton {
protected:
    VA_Singleton () {};
    ~VA_Singleton () {};
public:
    static T *Get(){
        return (static_cast<T*> (a_singleton));
    }
    static void Delete(){
        if(a_singleton == NULL) {
            delete a_singleton;
        }
    }
    static void Create(){
        a_singleton = GetInstance();
        if(a_singleton == NULL){
           a_singleton = new T;
        }
    }
private:
    static T *a_singleton;
};

template <typename T> T *VA_Singleton<T>::a_singleton = NULL;

Conseguí que la exportación funcionara bien, pero cuando se trata de importar, se establece lo siguiente:

template <typename T> T *VA_Singleton<T>::a_singleton = NULL;

No funciona con DLLImport. Esta es la primera vez que realmente trabajo con DLL en un entorno de trabajo. ¿Alguien tiene alguna idea?

Respuestas a la pregunta(1)

Su respuesta a la pregunta