我正在使用 SFML 的音频库。
在我的课堂上,我尝试使用一个私有静态变量来保存 SoundBuffer*,如下所示:
static sf::SoundBuffer* breakBlockBuffer;
当我尝试构建时,这会导致链接器错误:
Chunk.obj:错误 LNK2001:未解析的外部符号“私有:静态类 sf::SoundBuffer * Chunk::breakBlockBuffer”(?breakBlockBuffer@Chunk@@0PAVSoundBuffer@sf@@A) myprogram.exe:致命错误 LNK1120:1 个未解析的外部
但是,如果我将其声明为实例变量,则它可以工作:
sf::SoundBuffer* breakBlockBuffer;
无论我是动态链接还是静态链接库,都会发生这种情况。它还在 SFML1.6 和 SFML2.0 中持续存在。
我觉得我可能犯了一些愚蠢的错误,因为我对 C++ 很生疏,但代码看起来对我来说应该没问题。