未解决的外部符号错误C ++

时间:2015-10-15 19:52:56

标签: external sfml symbols

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声音的代码。谢谢先进。 sf::Music music; music.openFromFile("Forest_v3.ogg"); return -1; music.play();

编辑:我尝试将所有DLL从SFML / bin粘贴到我的源文件文件夹中,但没有更改。我还引用了sfml-audio-d.lib文件,但没有更改。错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

我认为您没有正确设置IDE。如果使用visual studio,则需要执行以下操作:

  1. 转到您的SFML文件夹&gt;&gt;完事。然后,复制&amp;将所有这些DLL粘贴到与源文件相同的文件夹中。
  2. 然后转到项目&gt;&gt;属性&gt;&gt;链接器&gt;&gt;输入&gt;&gt;其他依赖关系:并确保您有&#34; sfml-audio-d.lib&#34;在那里。 (使用调试时)
  3. 编辑:实际上,同一目录中缺少的DLL会导致出现错误对话框,但不会出现您遇到的异常。你在发布中运行吗?转到Build&gt;&gt; Configuration Manager,它应该说&#34; Debug&#34;在&#34; Active Solution Configuration&#34;以及&#34; Configuration&#34;。

    更新我的状态,我也会按照我的回答做同样的事。

相关问题