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?