【问题标题】:sf::Sound functions cause linker errorssf::Sound 函数导致链接器错误
【发布时间】:2018-03-09 15:28:34
【问题描述】:

我最近开始使用 SFML。于是我下载了 2.4.2 Win64 版本的库,开始玩弄例子。 到目前为止,我遇到的唯一问题是当我在 sf::Sound 对象上调用播放/暂停/停止时出现链接器错误。例如我得到的游戏:

main.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport) 公共:虚拟 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

有人知道发生了什么吗?

提前致谢。

【问题讨论】:

  • 如何链接?
  • 动态。我也尝试在没有任何更改的情况下与 openal32 链接。
  • 建议将链接器命令行添加到问题中。大部分答案都可以在其中找到。

标签: c++ qt linker sfml


【解决方案1】:

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

以这种方式生成的库/dll 可以完美运行。

【讨论】:

    猜你喜欢
    • 2018-01-30
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 2014-10-21
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    相关资源
    最近更新 更多