Библиотеки стандартной C++
Apple-компиляторы поддерживают две библиотеки стандартной C++.
По умолчанию для 10.9 и более поздних версий используется libc++, что также является значением по умолчанию для clang на более старых платформах при построении кода C++11.
По умолчанию для 10.8 и более ранних версий использовалась libstdc++, поддерживаемая Apple GCC-компиляторами, GNU GCC-компиляторами и clang. Она была помечена как устаревшая с предупреждением во время компиляции начиная с Xcode 8.
Существует ряд незначительных несовместимостей между различными библиотеками стандартной C++, поэтому Homebrew откажется от установки программного обеспечения, если зависимость была построена с несовместимой библиотекой C++. Рекомендуется устанавливать дерево зависимостей с использованием совместимого компилятора.
Если вы перешли на 10.9 или более позднюю версию с более ранней версии: так как по умолчанию теперь используется библиотека стандартной C++ libc++, вы можете не иметь возможности построить программное обеспечение, использующее зависимости, которые вы построили на 10.8 или более ранних версиях. Если вы читаете эту страницу, потому что были перенаправлены сюда ошибкой сборки, вы, скорее всего, сможете исправить проблему, если переустановите все зависимости пакета, который вы пытаетесь построить.
Пример установки с использованием GCC 7:
brew install gcc@7 brew install --cc=gcc-7 <formula>
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/C++-Standard-Libraries