我一直在尝试使用OGG支持来构建SDL2_Mixer,尽管libvorbis和libogg库是其来源的一部分:https://hg.libsdl.org/SDL_mixer/file/7e59d684b070/external似乎并没有在编译时增加对ogg的支持。
有趣的是,如果我将这些标志提供给SDL2_Mixer configure:--enable-music-ogg=true --enable-music-ogg-shared=false
。
我没有收到任何错误,但缺少支持。如果我忽略上述所有内容,请保留:--disable-shared --enable-static
我从配置中收到以下错误:
checking vorbis/vorbisfile.h usability... no
checking vorbis/vorbisfile.h presence... no
checking for vorbis/vorbisfile.h... no
checking for ov_open_callbacks in -lvorbisfile -lvorbis -logg -lm... no
configure: WARNING: *** Unable to find Ogg Vorbis library (http://www.xiph.org/)
configure: WARNING: Ogg Vorbis support disabled
但是对我来说,这没有多大意义,因为SDL2_Mixer自带了这些库:(。
我可能会经过一些路径或任何错误之处,但我不知道该怎么办。
这是我用来编译项目的CMakeLists.txt。
我也遇到了这个问题: http://forums.libsdl.org/viewtopic.php?p=20698 尽管使用的是旧版SDL_Mixer,这听起来与我的问题很接近。
我也碰到过这个线程:https://swarminglogic.com/article/2014_11_crosscompile2,如果无论如何它们都是SDL2_Mixer的一部分,他分别下载ogg和vorbis源感到很奇怪。无论如何,我也尝试过单独构建这些库,但也无法使SDL2_Mixer看到它们。
我将非常感谢您提供有关如何解决此问题的任何提示,因为我似乎在这一点上已经停留了很长时间。
非常感谢:)
答案 0 :(得分:0)
好吧,因此,尽管SDL2_Mixer附带了ogg和vorbis库,但是即使将其设置为static,它也不会使用它们进行编译。
我本人无法强制使用这些库,但是SDL2演示的这个新分支为项目添加了ogg和vorbis库:https://gitlab.com/zub2/SDLDemo/tree/addOggVorbis
CmakeLists.txt中的此评论很好地总结了正在发生的事情:
“ SDL2_mixer需要找到libogg和libvorbis,并且没有使用pkg-config”
不幸的是,必须使用CFLAGS等。