sf ::声音函数导致链接器错误

时间:2018-03-09 15:28:35

标签: c++ qt linker sfml

我最近开始使用SFML。所以我下载了2.4.2 Win64版本的库并开始玩这些例子。 到目前为止我遇到的唯一问题是当我在sf :: Sound对象上调用play / pause / stop时出现链接器错误。比如玩游戏我得到:

  

main.obj:-1:错误:LNK2019:未解析的外部符号   “__declspec(dllimport)public:virtual void __cdecl   sf :: Sound :: play(void)“(__ imp_?stop @Sound @ sf @@ UEAAXXZ)在   功能主要

请注意,我正在链接sfml-audio.lib并且可以使用音频库的其他对象,如AudioBuffers,甚至可以使用sf :: Sound的其他函数,例如setBuffer,这对我来说很奇怪。

我使用Qt Creator作为IDE,所以我链接在.pro文件中:

LIBS += -LC:/SFML/lib

CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-main -lsfml-network -lsfml-window -lsfml-system
CONFIG(debug, debug|release): LIBS += -lsfml-audio-d -lsfml-graphics-d -lsfml-main-d -lsfml-network-d -lsfml-window-d -lsfml-system-d

INCLUDEPATH += C:/SFML/include
DEPENDPATH += C:/SFML/include

有没有人知道发生了什么事?

提前致谢。

1 个答案:

答案 0 :(得分:0)

好吧,最后我解决了它,只需下载SFML Master并使用CMake + Visual Studio构建库。

以这种方式生成的libs / dll可以完美地工作。