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'

Это в настоящее время имеет три студента в тупик. Есть идеи?

Ответы на вопрос(5)

Ваш ответ на вопрос