macOS 10.12.6安装FFmpeg依赖doxygen失败求助
解决macOS 10.12.6安装FFmpeg时doxygen编译失败的问题
错误原因
编译doxygen时出现'variant' file not found错误,是因为<variant>是C17标准库的头文件,而macOS 10.12自带的Clang版本不支持C17。同时Homebrew已停止对macOS 10.12的官方支持,最新公式默认使用较新的编译标准,导致旧系统无法兼容。
可行解决方案
1. 跳过文档依赖(最简便)
如果不需要FFmpeg的文档生成功能,可以直接跳过doxygen等文档相关依赖:
brew install ffmpeg --without-docs
2. 安装兼容旧系统的doxygen版本
选择一个不依赖C++17的doxygen旧版本(比如1.8.x系列):
- 查看doxygen的历史版本日志:
brew log doxygen - 在日志中找到1.8.x版本对应的commit哈希(例如1.8.20的commit),安装该版本:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/[替换为对应commit哈希]/Formula/doxygen.rb - 安装完成后再执行FFmpeg安装:
brew install ffmpeg
3. 强制指定C++17编译标准(尝试性)
macOS 10.12最高支持Xcode 9.2,其Clang对C++17有部分支持,可尝试手动指定编译参数安装doxygen:
- 先清理之前的失败安装:
brew cleanup doxygen - 带参数安装doxygen:
注:此方法可能因Xcode版本的C++17支持不全而失败。brew install doxygen --cc=clang++ --cxxflags="-std=c++17" --ldflags="-std=c++17"
内容的提问来源于stack exchange,提问作者Lo-Fi Junky
相关产品推荐
相关产品推荐

