Обновление 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.