Apple 编译器支持两个 C++ 标准库。
10.9 及更高版本的默认值为 libc++,在构建 C++11 代码时,这也是较早平台上 clang
的默认值。
10.8 及更早版本的默认值为 libstdc++,由 Apple GCC 编译器、GNU GCC 编译器和 clang
支持。从 Xcode 8 开始,此项已标记为弃用,并在编译期间显示警告。
几个 C++ 标准库之间存在细微的不兼容性,因此如果依赖项是使用不兼容的 C++ 库构建的,Homebrew 将拒绝安装软件。建议你使用兼容的编译器安装依赖项树。
如果你已从较早版本升级到 10.9 或更高版本:由于默认 C++ 标准库现在是 libc++,你可能无法使用在 10.8 或更早版本上构建的依赖项来构建软件。如果你是因为构建错误而阅读此页面,则重新安装要构建的软件包的所有依赖项很可能会解决此问题。
使用 GCC 7 的示例安装
brew install gcc@7
brew install --cc=gcc-7 <formula>