error LNK2001: símbolo externo sin resolver "privado: clase estática

error LNK2001: símbolo externo no resuelto "private: static class irrklang :: ISoundEngine * GameEngine :: Sound :: _ soundDevice" (? _soundDevice @ Sound @ GameEngine @@ 0PAVISoundEngine @ irrklang @@ A)

No puedo entender por qué estoy recibiendo este error. Creo que estoy inicializando correctamente. Alguien puede prestar ayuda?

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

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

y donde uso el dispositivo de sonido

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

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

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

Cualquier ayuda sería apreciada grandemente

Respuestas a la pregunta(2)

Su respuesta a la pregunta