gpt4 book ai didi

链接 sfml-audio 时的 C++ undefined reference

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:48:03 24 4
gpt4 key购买 nike

我正在尝试让 SFML 音频在我的 C++ 程序中工作。我正在使用 mingw64 的 Windows 10 和 g++ 5.2.0 版。奇怪的是,我只是无法链接 sfml-audio。我能够在 this 上编译并运行该程序页面很好,但它不使用音频。 (该页面适用于 Linux 用户,但我只是查看那里的示例来尝试。)

但是,当我尝试编译这个程序时,sfml_test.cpp:

#include <SFML/Audio.hpp>

int main()
{
sf::SoundBuffer buffer;
if (!buffer.loadFromFile("sound.wav"))
return -1;

return 0;
}

在终端中使用这个命令:

g++ sfml_test.cpp -lsfml-audio -lsfml-system

我收到这个错误:

C:\Users\sudgy\AppData\Local\Temp\ccZW1WAC.o:sfml_test.cpp:(.text+0x54): undefined reference to `_imp___ZN2sf11SoundBuffer12loadFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
collect2.exe: error: ld returned 1 exit status

怎么了?我认为这是我安装库的问题,但上面的图形示例工作正常。如果你需要它,我从 this 下载了它页面,使用 Windows 部分左下方的下载。

谢谢!

最佳答案

好消息。 4.9.2 MinGW 您为 5.2.0 MinGW 编译器下载了这些预编译的二进制文件。这就是你遇到问题的原因。我与字符串或字符有关。

解决方案。使用 cmake 使用编译器 5.2.0 MinGW 从源代码构建。

坏消息。我不知道如何使用 cmake 并偶然发现了这个问题来寻找答案。让我知道你做了什么。我也有同样的编译器。

关于链接 sfml-audio 时的 C++ undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34488727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com