我最近开始使用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
有没有人知道发生了什么事?
提前致谢。
答案 0 :(得分:0)
好吧,最后我解决了它,只需下载SFML Master并使用CMake + Visual Studio构建库。
以这种方式生成的libs / dll可以完美地工作。