erreur LNK2001: symbole externe non résolu "private: static static

erreur LNK2001: symbole externe "private: static de la classe irrklang::ISoundEngine * GameEngine::Audio::_soundDevice" (?_soundDevice@Sound@GameEngine@@0PAVISoundEngine@irrklang@@A)

Je ne peux pas comprendre pourquoi je reçois cette erreur. Je crois que je suis l'initialiser correctement. Quelqu'un peut-il donner un coup de main?

son.h

class Sound
{
private:
    static irrklang::ISoundEngine* _soundDevice;
public:
    Sound();
    ~Sound();

    //getter and setter for _soundDevice
    irrklang::ISoundEngine* getSoundDevice() { return _soundDevice; }
// void setSoundDevice(irrklang::ISoundEngine* value) { _soundDevice = value; }
    static bool initialise();
    static void shutdown();

sound.cpp

namespace GameEngine
{
Sound::Sound() { }
Sound::~Sound() { }

bool Sound::initialise()
{
    //initialise the sound engine
    _soundDevice = irrklang::createIrrKlangDevice();

    if (!_soundDevice)
    {
        std::cerr << "Error creating sound device" << std::endl;
        return false;
    }

}

void Sound::shutdown()
{
    _soundDevice->drop();
}

et où j'utilise le son de l'appareil

GameEngine::Sound* sound = new GameEngine::Sound();

namespace GameEngine
{
bool Game::initialise()
{
    ///
    ///non-related code removed
    ///

    //initialise the sound engine
    if (!Sound::initialise())
        return false;

Toute aide serait grandement appréciée

source d'informationauteur rkleman12 | 2013-04-17