./configure 找不到头文件

Posted

技术标签:

【中文标题】./configure 找不到头文件【英文标题】:./configure unable to find header files 【发布时间】:2016-01-01 09:01:35 【问题描述】:

我正在编译一个使用 SDL_mixer 播放 .ogg 文件的项目。但是,Mix_Init(MIX_INIT_OGG) 失败,Mix_GetError() 返回 "Mixer not built with Ogg Vorbis support"。我使用的 SDL_mixer 版本是 1.2.12,通过 Homebrew 下载。

所以我下载了 SDL_mixer 的源代码(相同版本,1.2.12),并尝试使用 Ogg 支持构建它,即 ./configure --enable-music-ogg,但 configure 无法找到 Vorbis 头文件。这是它给出的输出:

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... no
configure: WARNING: *** Unable to find Ogg Vorbis library (http://www.xiph.org/)
configure: WARNING: Ogg Vorbis support disabled

我什至尝试将--includedir=/usr/local/include 传递给configure,但没有成功。我在/usr/local/include 中有 Vorbis 和 Ogg 头文件,例如vorbisfile.h 的路径是 /usr/local/include/vorbis/vorbisfile.h。我还尝试从头开始构建 libogg 和 libvorbis,但我仍然遇到相同的错误。我使用的是 OS X 10.11.1 测试版。

我做错了什么?


编辑

brew ls sdl_mixer 的输出:

/usr/local/Cellar/sdl_mixer/1.2.12/include/SDL/SDL_mixer.h
/usr/local/Cellar/sdl_mixer/1.2.12/lib/libSDL_mixer-1.2.0.dylib
/usr/local/Cellar/sdl_mixer/1.2.12/lib/pkgconfig/SDL_mixer.pc
/usr/local/Cellar/sdl_mixer/1.2.12/lib/ (2 other files)

【问题讨论】:

不确定你用什么命令安装SDL_mixer,假设是brew install sdl_mixer,既然如此,你可以试试brew options sdl_mixer看看有没有"ogg选项”. @MarkSetchell 我用brew install sdl_mixer 是的。我刚刚检查了一下,有一个 --with-libvorbis 选项,但由于某种原因它似乎不起作用,SDL 仍然说“Mixer not built with Ogg Vorbis support”。 那么,我想你现在已经完成了brew install sdl_mixer --with-libvorbis?如果您随后执行brew ls sdl_mixer,它应该会向您显示它已安装的内容以及安装位置。 @MarkSetchell 是的,我就是这么做的。将brew ls 的输出编辑到问题中。 我也有同样的问题。这些库都已安装,但从源代码构建 SDL_mixer 不起作用。我还尝试从源代码构建 ogg 和 vorbis。没有快乐。 【参考方案1】:

你现在可以跑了

brew install sdl2_mixer --with-libvorbis

【讨论】:

这就是我运行的(除了sdl_mixer,不是sdl2_mixer),但它没有帮助。 抱歉,这必须是 sdl2_mixer 公式独有的

以上是关于./configure 找不到头文件的主要内容,如果未能解决你的问题,请参考以下文章

vc++编程找不到头文件。。。急求解决方法。。

关于VC6.0的找不到头文件的问题

如何解决gcc编译c程序找不到头文件的问题

找不到QT的头文件怎么办?

vscode下运行c++找不到头文件是怎么回事

eclipse提示找不到头文件,是怎么回事啊