我想使用什么图书馆时需要链接
我有
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()'
最佳答案
链接顺序很重要。
我倾向于遵循“依赖”规则。如果X取决于Y,那么X必须先于Y。所有SFML模块都取决于SFML系统模块,因此系统模块需要排在最后。另外,您的目标文件依赖SFML,因此它们需要位于SFML库之前。
g++ main.o Menu.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-audio -lsfml-system
关于c++ - 在Linux中链接SFML音频?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49826044/