未解决的外部符号错误 C++
Unresolved external symbol error C++
Error 1 error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall sf::SoundStream::play(void)" (__imp_?play@SoundStream@sf@@QAEXXZ) C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\LoopsTest1\main.obj LoopsTest1
Error 2 error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __thiscall sf::Music::openFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?openFromFile@Music@sf@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\LoopsTest1\main.obj LoopsTest1
Error 3 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall sf::Music::~Music(void)" (__imp_??1Music@sf@@UAE@XZ) C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\LoopsTest1\main.obj LoopsTest1
Error 4 error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall sf::Music::Music(void)" (__imp_??0Music@sf@@QAE@XZ) C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\LoopsTest1\main.obj LoopsTest1
Error 5 error LNK1120: 4 unresolved externals C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\Release\LoopsTest1.exe LoopsTest1
我正在使用 SFML 2.3 播放 ogg 文件。我是 C++ 的新手。不确定是什么原因造成的。这是我用来高级播放 ogg sound.Thanks 的代码。 sf::Music music;
music.openFromFile("Forest_v3.ogg");
return -1;
music.play();
编辑:我尝试将 SFML/bin 中的所有 DLL 粘贴到我的源文件文件夹中,但没有任何更改。我还引用了 sfml-audio-d.lib 文件但没有更改。错误仍然存在。
我认为您 IDE 的设置不正确。如果使用 visual studio,您需要执行以下操作:
- 转到您的 SFML 文件夹 >> bin。然后,将所有这些 DLL 复制并粘贴到与源文件相同的文件夹中。
- 然后转到项目>>属性>>链接器>>输入>>附加依赖项:并确保其中包含“sfml-audio-d.lib”。 (使用调试时)
编辑: 实际上,同一目录中丢失的 DLL 会导致出现错误对话框,但不会出现您遇到的异常。你 运行 发布了吗?转到构建>>配置管理器,它应该在“活动解决方案配置”和“配置”下显示“调试”。
告诉我你的状态,我会做同样的回答。
Error 1 error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall sf::SoundStream::play(void)" (__imp_?play@SoundStream@sf@@QAEXXZ) C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\LoopsTest1\main.obj LoopsTest1
Error 2 error LNK2001: unresolved external symbol "__declspec(dllimport) public: bool __thiscall sf::Music::openFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?openFromFile@Music@sf@@QAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\LoopsTest1\main.obj LoopsTest1
Error 3 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall sf::Music::~Music(void)" (__imp_??1Music@sf@@UAE@XZ) C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\LoopsTest1\main.obj LoopsTest1
Error 4 error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall sf::Music::Music(void)" (__imp_??0Music@sf@@QAE@XZ) C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\LoopsTest1\main.obj LoopsTest1
Error 5 error LNK1120: 4 unresolved externals C:\Users\Nikola\documents\visual studio 2013\Projects\LoopsTest1\Release\LoopsTest1.exe LoopsTest1
我正在使用 SFML 2.3 播放 ogg 文件。我是 C++ 的新手。不确定是什么原因造成的。这是我用来高级播放 ogg sound.Thanks 的代码。 sf::Music music;
music.openFromFile("Forest_v3.ogg");
return -1;
music.play();
编辑:我尝试将 SFML/bin 中的所有 DLL 粘贴到我的源文件文件夹中,但没有任何更改。我还引用了 sfml-audio-d.lib 文件但没有更改。错误仍然存在。
我认为您 IDE 的设置不正确。如果使用 visual studio,您需要执行以下操作:
- 转到您的 SFML 文件夹 >> bin。然后,将所有这些 DLL 复制并粘贴到与源文件相同的文件夹中。
- 然后转到项目>>属性>>链接器>>输入>>附加依赖项:并确保其中包含“sfml-audio-d.lib”。 (使用调试时)
编辑: 实际上,同一目录中丢失的 DLL 会导致出现错误对话框,但不会出现您遇到的异常。你 运行 发布了吗?转到构建>>配置管理器,它应该在“活动解决方案配置”和“配置”下显示“调试”。
告诉我你的状态,我会做同样的回答。