Почему я не могу изменить компилятор gcc с 4.2.1 на более позднюю версию? - PullRequest
0 голосов
/ 08 декабря 2018

Я пытался заменить включенный компилятор gcc 4.2.1 на моем Mac Book Pro последней версией Mac OSX, но не могу понять, что я делаю неправильно:

Также этот скриншот от моегоОболочка не имеет смысла для меня:

Johans-MBP: bin johanlindfors $ gcc --version
Настраивается с: --prefix = / Applications / Xcode.app / Contents/ Developer / usr --with-gxx-include-dir = / Приложения / Xcode.app / Содержание / Разработчик / Платформы / MacOSX.platform / Разработчик / SDKs / MacOSX10.14.sdk / usr / include / c ++ / 4.2.1Apple LLVM версия 10.0.0 (clang-1000.11.45.5) Цель: x86_64-apple-darwin18.2.0 Модель потока: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Johans-MBP: bin johanlindfors $ , что gcc
/ usr / local / bin / gcc
Johans-MBP: bin johanlindfors $ / usr / local / bin / gcc -версия
gcc (Homebrew GCC 8.2.0) 8.2.0 Copyright (C) 2018 Free Software Foundation, Inc. Это бесплатное программное обеспечение;см. источник для условий копирования.Там нет гарантии;даже не для ТОРГОВЛИ или пригодности для особой цели.

Johans-MBP: bin johanlindfors $

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Системный компилятор gcc-4.2.1 является (очень старым) наследием перехода от компиляторов gcc к clang.Он никогда не должен использоваться для вашего собственного кода.Отредактируйте ваш .profile или .tcshrc, чтобы добавить новый каталог gcc к пути.Или сэкономьте много времени и энергии и используйте MacPorts .

К сожалению, Clang установил «абсолютную» совместимость с gcc-4.2.1: см .: clang -E -dM - < /dev/null | grep GNU

Это не плохо.Как только компилятор набирает обороты, он предоставляет собственные расширения и больше не отслеживает их.Многие расширения остаются совместимыми, как Intel <x86intrin.h>.Ни один из компиляторов не слишком заинтересован в том, чтобы обеспечить слишком большое расхождение с расширениями ...

По словам MacPorts, "стабильный" gcc теперь равен 8.2.0.Устойчивый лязг MacPorts (который раздраженно конфликтует с OS X), по-видимому, 7.0.0 ... короткая история - не ходите произвольно заменять наборы файлов, которые, по вашему мнению, могут работать.Затем настройте пути правильно - IIRC, MacPorts сделает это за вас.

Я предоставил более свежую сводку: здесь .

0 голосов
/ 13 декабря 2018

Это потому, что на самом деле Apple Clang притворяется GCC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...