C ++: неопределенная ссылка на экземпляр в классе Singleton
В настоящее время я пытаюсь реализовать завод как синглтон. Я практически использовал учебный пример синглтон-паттерна. Вот's .h файл:
namespace oxygen{
class ImpFactory{
public:
static boost::shared_ptr GetInstance();
private:
static boost::shared_ptr mInstance;
};
и здесь's .pppp файл:
#include "impfactory.h"
using namespace oxygen;
using namespace boost;
shared_ptr ImpFactory::GetInstance(){
if (mInstance.get() == 0)
mInstance = shared_ptr(new ImpFactory());
return mInstance;
}
Код компилируется, но я получаю ошибку компоновщика:
../../lib/oxygen/liboxygen.so.3.2.4: неопределенная ссылка на 'oxygen :: ImpFactory :: mInstance'
Это в настоящее время имеет три студента в тупик. Есть идеи?