Как мне построить GCC на Mac? -- c++ поле с участием macos поле с участием gcc поле с участием c++11 пол Связанный проблема

how do i build gcc on a mac?


13
vote

проблема

русский

Я хотел бы построить последнюю версию GCC на Mac. У меня есть последний Xcode, но ищу некоторые функции C ++ 0x, которые находятся в более поздних версиях (функции лямбда и т. Д.).

Есть ли хорошие пошаговые учебные погашения на это?

Английский оригинал

I'd like to build the latest version of gcc on a mac. I have the latest xcode but I'm looking for some of the c++0x features that are in more recent versions (the lambda functions, etc).

Are there any good step-by-step tutorials on doing this?

</div
           
 
 

Список ответов

5
 
vote
vote
Лучший ответ
 

Один вариант - это установить macports и установить <код> gcc46 Пакет:

.
 <код> sudo port install gcc46   

Другой вариант - загрузить исходный код и построить его следующим образом:

 <код> tar xzvf gcc-4.6.0.tar.gz cd gcc-4.6.0 ./configure make   

Обратите внимание, что GCC 4.6.0 требует как предварительные условия GMP 4,2+, MPFR 2.3.1+ и MPC 0.8.0+. Если <код> ./configure не удается, это, вероятно, потому что вы пропустите один из них (хотя оно должно дать вам полезное сообщение об ошибке в любом случае).

Здание займет некоторое время, вероятно, несколько часов, в зависимости от вашего оборудования.

 

One option is to install MacPorts and install the gcc46 package:

sudo port install gcc46 

Another option is to download the source code and build it as follows:

tar xzvf gcc-4.6.0.tar.gz cd gcc-4.6.0 ./configure make 

Note that GCC 4.6.0 requires as prerequisites GMP 4.2+, MPFR 2.3.1+, and MPC 0.8.0+. If ./configure fails, it's probably because you're missing one of these (though it should give you a helpful error message in any case).

Building will take a while—likely several hours, depending on your hardware.

</div
 
 
10
 
vote

Вы должны посмотреть на Домашний проект .

Домберит позволяет делать такие вещи:

 <код> brew install gcc   

Здесь доступны инструкции по установке Mac Homebrew.

 

You should look at the Homebrew project.

Homebrew allows you to do things like this:

brew install gcc 

Mac homebrew installation instructions are available here.

</div
 
 
     
     
8
 
vote

Добавьте поддержку GCC на FRESH XCODE 4.2 Установка Использование этой формы домогания:

 <код> brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb   

Обновление от Xcode 4.1 не бросает существующую поддержку GCC, поэтому эта формула полезна только в том случае, если вы работаете со свежей 4,2+ установкой.

 

Add GCC support to a fresh Xcode 4.2 installation using this homebrew formula:

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb 

Upgrading from Xcode 4.1 doesn't drop existing GCC support, so this formula is only useful if you're working with a fresh 4.2+ installation.

</div
 
 
 
 
0
 
vote

Я бы предложил построить его самостоятельно (Adam Detail, как это сделать). Это даст вам прекрасный контроль, где установить и все параметры, которые вы хотите выбрать. Мой опыт имея множественные версии GCC заключается в том, что если уход не предпринимает версию Apple GCC, может быть повреждена.

Чтобы ускорить установку GCC, вы можете посмотреть на опцию Tonable-Language. Если есть языки, которые вам не нужно установить с новым GCC, то вы не можете выбрать их.

 

I would suggest building it yourself (Adam details how to do so). This will give you fine control on where to install and all the options you want to select. My experience from having multiple versions of gcc is that, if care is not taken apple's version of gcc can be damaged.

To speed up gcc installation you might want to look at --enable-languages option. If there are languages you don't need installed with the new gcc then you may not want to select them.

</div
 
 

Связанный проблема

-2  Umenu.cpp неопределенная справочная ошибка [дубликат]  ( Umenu cpp undefined reference error ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

1  Eclipse C / C ++ не компилируют исходный код в подпункте  ( Eclipse c c not compiling source code in sub folders ) 
Использование ECLIPSE IDE для разработчиков C / C ++ (см. подробности ниже) Я пытаюсь реорганизовать свой код в подпункте. Однако, если я перемещаю файл исход...

0  Установите и получите значение разных участников класса в классе  ( Set and get the value of different class members in a class ) 
Я очень новичок в программировании C ++, и я написал простую классную программу для отображения имени и продолжительности проекта. <код> #include<iostream> ...

1  Шаблон аргументирован вычет и объединение  ( Template argument deduction and unification ) 
<код> template<typename T> void f1(T t); template<typename T> void f2(const T t); template<typename T> void f3(T& t); template<typename T> void f4(const T...

-2  Как писать сортировать с неизвестным аргументом. Не может повторяться с void * /  ( How write sort with unknown argument cant iterate with void ) 
в этом <код> void* ic = b + j * sz; и это <код> void* jc = ic - sz; lines IDE, написание того, что выражение должно быть указателем на полный тип. Мне нужен...

0  Что это значит, когда в GraphStudio нет ошибки при подключении два фильтра, но они не были подключены  ( What does it mean when in graphstudio there is no error when connection two filt ) 
Когда я пытаюсь подключить два фильтра в GraphStudio, которые не соответствуют, я обычно получаю код ошибки. Однако в моем случае, если я попытаюсь подключить...

18  Как оценивается оператор «если (A && B)»?  ( How an if a b statement is evaluated ) 
<код> -1 Вопрос в том, что утверждение немедленно сломается, чтобы остальное, если был ложный. Будет б даже оценивать? Я спрашиваю это в том случае, если...

3  Проблема с помощью файлов makefile .gch вместо файлов  ( Problem with makefile making gch files instead of o files ) 
Итак, я делаю программу для проверки эффективности определенных структур данных. У меня есть все файлы .h, и я сделал очень ужасную Makefile, что, вероятно, н...

-1  Qt показывает изображение на 1/4 секунды  ( Qt show an image for 1 4 of a second ) 
Эй, я пробовал несколько раз, чтобы завершить это, используя Uslep или Qt Sleep, когда показывает изображение, но иногда (почти каждый раз) он появляется белы...

58  Пространства имен в C  ( Namespaces in c ) 
Есть ли способ (ab) использовать препроцессор c для эмуляции пространств имен в c ? Я думаю что-то по этим строкам: <код> #define NAMESPACE name_of_ns ...

0  Новые и удаление контейнеров DLL  ( New and delete container dlls ) 
Я хочу зацепить новые и удалять операторы. Но я не могу найти оригинальные DLL, где проживают эти операторы. Я использовал msvcr90.dll, msvsr90d.dll, msvcrt.d...

10  Как я могу обнаружить доступ к файлу в Linux?  ( How can i detect file accesses in linux ) 
У меня есть куча потоков и приложений для обработки данных, которые я иногда нужно шпионить, то есть мне нужно знать, какие файлы они читают. Это в основном, ...

0  Как скопировать файлы из установленного местоположения в изолированное хранение в Windows Phone 8  ( How to copy files from installed location to isolated storage in windows phone 8 ) 
Я разрабатываю приложение для WP8 с помощью Cocos2DX. Я не могу найти функцию копирования, которая помогает мне копировать файлы с установленного местоположен...

7  Используйте простой класс C ++ в Android NDK  ( Use a simple c class in android ndk ) 
Я пытаюсь узнать основные основы Android NDK, но я застрял, когда я должен использовать его с классом C ++. Я понимаю, как использовать его с помощью просто...

7  Как очистить удаленные объекты в C ++  ( How do clean up deleted objects in c ) 
Возможно ли использовать память об удаленных объектах в C ++? Я хочу сделать это, чтобы воспроизвести Coredump в модульном тесте: <код> //Some member variab...

Связанный проблема

-2  Umenu.cpp неопределенная справочная ошибка [дубликат] 
1  Eclipse C / C ++ не компилируют исходный код в подпункте 
0  Установите и получите значение разных участников класса в классе 
1  Шаблон аргументирован вычет и объединение 
-2  Как писать сортировать с неизвестным аргументом. Не может повторяться с void * / 
0  Что это значит, когда в GraphStudio нет ошибки при подключении два фильтра, но они не были подключены 
18  Как оценивается оператор «если (A && B)»? 
3  Проблема с помощью файлов makefile .gch вместо файлов 
-1  Qt показывает изображение на 1/4 секунды 
58  Пространства имен в C 
0  Новые и удаление контейнеров DLL 
10  Как я могу обнаружить доступ к файлу в Linux? 
0  Как скопировать файлы из установленного местоположения в изолированное хранение в Windows Phone 8 
7  Используйте простой класс C ++ в Android NDK 
7  Как очистить удаленные объекты в C ++