GCC на OS X Lion с Xcode 4.3.1

14

После установки Xcode 4.3.1 на OS X Lion я потерял свой компилятор GCC. Мне это нужно для учебы. Кто-нибудь знает, как я это установлю? Все, что мне удалось найти, - это люди, предлагающие установить Xcode 4.3.1, но с последней сборкой Xcode Apple переместила компилятор GCC в Xcode.app, и это, похоже, не та же версия компилятора GCC, как один в комплекте с предыдущими версиями Xcode.

SimonBS
источник

Ответы:

24

Откройте XCode, перейдите в настройки в разделе загрузок, установите инструменты командной строки.

Дэн
источник
2
Это был определенно самый простой способ сделать это. Благодарю.
SimonBS
15

Недавно было несколько постов в блоге о том, как это сделать, в контексте попытки скомпилировать Ruby 1.8.7 ( мой и другие ). Краткий ответ:

Установите инструменты командной строки (в XCode: «Настройки»> «Загрузки»> «Компоненты»; или вы можете пойти в Apple и скачать их отдельно, если у вас не установлен / не установлен XCode) - это устанавливает gccкоманду, но на самом деле это Clang Install Homebrew (инструкции) менеджер пакетов для OS X

Затем установите домашний репозиторий dupes и оригинальный компилятор GCC 4.2:

brew update
brew tap homebrew/homebrew-dupes
brew install apple-gcc42

/usr/bin/gccвсе еще будет i686-apple-darwin11-llvm-gcc-4.2, но /usr/local/bin/gcc-4.2будет i686-apple-darwin11-gcc-4.2.1(и связанные инструменты, g++-4.2и так далее, также в /usr/local/bin)

Затем вы можете использовать любой механизм, используемый вашим процессом сборки (например, путем соответствующей установки переменных среды CC и CXX), чтобы выбирать эти компиляторы, а не версии clang.

JDV
источник
Мне бы очень хотелось, чтобы я нашел ваше решение несколько дней назад. Я боролся с этим два дня подряд. Я бы +20, если бы мог.
Шанс
5

Я не использую Xcode 4.3 для реальных проектов Xcode, только для компиляции исходного кода командной строки, и у меня возникла та же проблема. Вы можете вернуть свои команды gcc и cc с помощью следующих команд терминала:

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.2 cc
ln -s gcc-4.2 gcc
ln -s c++-4.2 c++
ln -s g++-4.2 g++

Это внесет изменения в систему в целом , поэтому убедитесь, что это то, что вы хотите, прежде чем делать это.

Чтобы эти команды работали, вам также понадобятся инструменты командной строки для Xcode, если они еще не установлены. Инструменты могут быть установлены через панель настроек загрузки XCode.

Lantrix
источник
2
Одно из предложений: вместо удаления старых двоичных файлов (строка 2 скрипта), возможно, просто поместите их в каталог архива в / usr / bin). Таким образом, если они вам нужны, вы все равно можете вызывать их по абсолютному пути.
Скотт С Уилсон
Хорошее предложение. Делайте с ними, как хотите, даже: mv cc cc.orig && mv gcc gcc.origили что-то подобное.
Лантрикс