sf::Sound 函数导致链接器错误
sf::Sound functions cause linker errors
我最近开始使用SFML。所以我下载了 2.4.2 Win64 版本的库并开始尝试这些示例。
到目前为止,我遇到的唯一问题是在 sf::Sound 对象上调用 play/pause/stop 时出现 linker 错误。例如玩我得到:
main.obj:-1: error: LNK2019: unresolved external symbol
"__declspec(dllimport) public: virtual void __cdecl
sf::Sound::play(void)" (__imp_?stop@Sound@sf@@UEAAXXZ) referenced in
function main
请注意,我 link 反对 sfml-audio.lib 并且可以使用音频库的其他对象,如 AudioBuffers,甚至 sf::Sound 的其他功能,如 setBuffer,这很奇怪对我来说。
我将 Qt Creator 用作 IDE 所以我 link 在 .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
有人知道发生了什么事吗?
提前致谢。
好吧,我终于解决了这个问题,只需下载 SFML Master 并使用 CMake + Visual Studio 构建库。
以这种方式生成的 libs/dlls 可以完美运行。
我最近开始使用SFML。所以我下载了 2.4.2 Win64 版本的库并开始尝试这些示例。 到目前为止,我遇到的唯一问题是在 sf::Sound 对象上调用 play/pause/stop 时出现 linker 错误。例如玩我得到:
main.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual void __cdecl sf::Sound::play(void)" (__imp_?stop@Sound@sf@@UEAAXXZ) referenced in function main
请注意,我 link 反对 sfml-audio.lib 并且可以使用音频库的其他对象,如 AudioBuffers,甚至 sf::Sound 的其他功能,如 setBuffer,这很奇怪对我来说。
我将 Qt Creator 用作 IDE 所以我 link 在 .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
有人知道发生了什么事吗?
提前致谢。
好吧,我终于解决了这个问题,只需下载 SFML Master 并使用 CMake + Visual Studio 构建库。
以这种方式生成的 libs/dlls 可以完美运行。