ошибка LNK2001: неразрешенный внешний символ "private: static class
ошибка LNK2001: неразрешенный внешний символ "private: статический класс irrklang :: ISoundEngine * GameEngine :: Sound :: _ soundDevice " (? _SoundDevice @ Звук @ GameEngine @@ 0PAVISoundEngine @ irrklang @@ A)
Я не могу понять, почему я получаю эту ошибку. Я верю, что правильно инициализирую. Кто-нибудь может протянуть руку?
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();
}