Обновление GCC на OSX
Итак, я новый программист, и я только что установил XCode на своем Macbook, чтобы получить GCC. Я думаю, что Xcode - единственный способ получить GCC на OSX. Теперь, когда я запускаю свое приложение Hello World, в С++, g++ говорит, что это версия 4.0.1, но когда я ищу команды, начинающиеся с g, я также вижу g++ - 4.2. Есть ли способ сделать 4.2 по умолчанию, а не 4.0.1, а также есть способ обновить gcc до последней версии 4.4.0?
EDIT: Итак, я установил macports и установил gcc4.4, и он появился на терминале как gcc-mp-4.4, и как мне сделать его по умолчанию с gcc_select, например, какие команды и прочее. Спасибо.
Ответы
Ответ 1
Если вы устанавливаете macports, вы можете установить gcc select, а затем выбрать версию gcc.
/opt/local/bin/port install gcc_select
Чтобы увидеть ваши версии, используйте
port select --list gcc
Чтобы выбрать версию, используйте
sudo port select --set gcc gcc40
Ответ 2
Я знаю, что это старый запрос. Но это может быть полезно для некоторых. С текущими версиями MacPorts вы можете выбрать версию gcc по умолчанию, используя команду port.
Чтобы просмотреть доступные версии gcc, используйте:
$sudo port select --list gcc
Available versions for gcc:
gcc42
llvm-gcc42
mp-gcc46
none (active)
Чтобы установить gcc в версию MacPorts:
$sudo port select --set gcc mp-gcc46
Ответ 3
Я просто заглядываю, чтобы сказать, что использование мягкой ссылки для этого - ужасная, нехорошая, ужасная идея.
Одна из ключевых особенностей написания программного обеспечения - воспроизводимость - вы хотите получать одинаковые результаты каждый раз. Эти системы настолько сложны, что вы хотите уменьшить все невидимые источники ошибок.
Наличие мягкой ссылки - невидимый источник ошибки. Это то, что вы забудете в месяц, затем перейдите на другую машину и зададитесь вопросом, почему вы получаете разные результаты - или вы попытаетесь обновить свою систему, и вы получите странные ошибки, потому что это не ожидая там softlink.
Кроме того, это не гарантирует работу - в частности, не ясно, что вы получите правильные системные файлы, которые, безусловно, изменились между итерациями gcc.
gcc_select - это систематический способ сделать то же самое, что будет работать предсказуемо, или в самом худшем случае вы можете подать отчет об ошибке и получить возможное исправление или исправить его самостоятельно.
К сожалению:-( gcc_select не влияет на то, какой компилятор XCode использует, поэтому он не подходит, если вам нужно работать в XCode (что я и делаю). Я до сих пор не знаю, как это может быть.
Ответ 4
используйте "gcc_select -l"
<Р → gcc_select -l gcc40 mp-gcc44
<Р → gcc_select mp-gcc44
Ответ 5
Следующий рецепт с использованием Homebrew работал у меня для обновления до gcc/g++ 4.7:
$ brew tap SynthiNet/synthinet
$ brew install gcc47
Нашел его на странице здесь.
Ответ 6
На вашем поле может быть несколько версий GCC, чтобы выбрать тот, который вы хотите использовать, вызовите его с полным путем, например. вместо g++
используйте полный путь /usr/bin/g++
в командной строке (зависит от того, где живет ваш gcc).
Для компиляции проектов это зависит от того, какую систему вы используете, я не уверен в Xcode (я доволен по умолчанию atm), но когда вы используете Makefile, вы можете установить GXX =/usr/bin/g++ и так далее.
ИЗМЕНИТЬ
Теперь есть xcrun
script, который можно запросить, чтобы выбрать подходящую версию инструментов сборки на mac. Помимо man xcrun
, я объяснил это объяснение xcode и инструментами командной строки, которые в значительной степени обобщают, как его использовать.
Ответ 7
в /usr/bin
тип
sudo ln -s -f g++-4.2 g++
sudo ln -s -f gcc-4.2 gcc
Это должно сделать это.
Ответ 8
Вы можете установить свой GCC вручную
либо через
sudo port install gcc46
или загрузите исходный код с одного из зеркал с здесь, например здесь
tar xzvf gcc-4.6.0.tar.gz
cd gcc-4.6.0
. /configure
сделать
хорошо, если у вас есть несколько версий, то через вы можете выбрать одну
port select --list gcc
помните, что port
на Mac называется macport https://www.macports.org/install.php
, и добавьте его в свой путь export PATH=$PATH:/opt/local/bin
.
Ответ 9
Независимо от того, что Apple отправляет как gcc по умолчанию в xcode (4.2.1 на 10.6, 4.0.1 раньше), хорошо протестировано (и поддерживается) яблочными парнями и "стандартным" для создания программного обеспечения на OS X. Все остальное не так, так что дважды подумайте, хотите ли вы разрабатывать программное обеспечение или быть бета-тестером gcc/OS X.