在Linux中链接SFML音频?

时间:2018-04-13 22:40:52

标签: c++ audio sfml

当我想使用时,我需要链接哪些图书馆 我有

if(! sb.loadFromFile("Intro.wav")){
    exit(-1);
}
intro.setBuffer(sb);
intro.setLoop(true);
intro.play();

我试过

g++ main.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-system -lsfml-audio  Menu.o

但是编译器会抛出像

这样的错误
undefined reference to `sf::SoundBuffer::SoundBuffer()'
undefined reference to `sf::Sound::Sound()'

1 个答案:

答案 0 :(得分:0)

链接顺序很重要。

我倾向于遵循“依赖”规则。如果X依赖于Y,则X必须在Y之前。所有SFML模块都依赖于SFML系统模块,因此系统模块需要最后。另外,您的目标文件依赖于SFML,因此它们需要位于SFML库之前。

g++ main.o Menu.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-audio -lsfml-system