Fehler LNK2001: nicht aufgelöstes externes Symbol "privat: statische Klasse

Fehler LNK2001: nicht aufgelöstes externes Symbol "privat: statische Klasse irrklang :: ISoundEngine * GameEngine :: Sound :: _ soundDevice" (? _soundDevice @ Sound @ GameEngine @@ 0PAVISoundEngine @ irrklang @@ A)

Ich kann nicht herausfinden, warum ich diesen Fehler erhalte. Ich glaube, ich initialisiere richtig. Kann jemand mithelfen?

sound.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();
}

und wo ich das soundgerät benutze

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

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

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

Jede Hilfe wäre sehr dankbar

Antworten auf die Frage(2)

Ihre Antwort auf die Frage