   Help: DLL, Singleton and STL
  /////////////////// In the MyTest.DLL:// Singleton.htemplate <typename T> class Singleton{protected:    static T* ms_Singleton;public:    Singleton( void )    {   assert( !ms_Singleton );    int offset = (int)(T*)1 - (int)(Singleton <T>*)(T*)1;   ms_Singleton = (T*)((int)this + offset);    }    ~Singleton( void )    {assert( ms_Singleton );  ms_Singleton = 0; }    static T& GetSingleton( void )    {   assert( ms_Singleton );  return ( *ms_Singleton );}    static T* GetSingletonPtr( void )    {    return ms_Singleton;    }};// MyTest.hclass __declspec( dllexport ) MyTest : public Singleton<MyTest>{public:    MyTest(void);    ~MyTest(void);public:    static MyTest& GetSingleton(void);    static MyTest* GetSingletonPtr(void);};// MyTest.cpptemplate<> MyTest* Singleton<MyTest>::ms_Singleton = 0;MyTest::MyTest(void){}MyTest::~MyTest(void){}MyTest* MyTest::GetSingletonPtr(void){    return ms_Singleton;}MyTest& MyTest::GetSingleton(void){ assert( ms_Singleton );  return ( *ms_Singleton );  }// Compiles a DLL, OK! no error./////////////////// In the Container.EXE:// Container.h#include "MyTest.h"#pragma comment( lib, "MyTest.lib" )... ...... ...// Container.cpp... ...... ...Container::Test(void){    MyTest *pMyTest = new MyTest();}... ...... ...// Then, Compiles, Error!// stdafx.obj : error LNK2001: unresolved external symbol "protected: static class MyTest * Singleton<class MyTest>::ms_Singleton" (?ms_Singleton@?$Singleton@VMyTest@... ...How to resolve the error?Thanks very much!   