para macbook mac instalar devc dev compilar como code blocks c++ macos gcc compiler-construction g++

macbook - xcode c++ download



Actualiza GCC en OSX (8)

Así que soy un programador nuevo y acabo de instalar XCode en mi Macbook para obtener el GCC. Creo que Xcode es la única forma de obtener GCC en OSX. Ahora cuando ejecuto mi aplicación Hello World, en C ++, g ++ aparece diciendo que es la versión 4.0.1, pero cuando busco comandos que comiencen con g, también veo g ++ - 4.2. ¿Hay alguna forma de hacer 4.2 por defecto en lugar de 4.0.1, y también hay una forma de actualizar gcc a la última versión 4.4.0?

EDITAR: Ok, entonces instalé macports e instalé gcc4.4 y aparece en el terminal como gcc-mp-4.4 y cómo lo hago predeterminado con gcc_select, como cuáles son los comandos y esas cosas. Gracias.


La siguiente receta con Homebrew me sirvió para actualizar a gcc / g ++ 4.7:

$ brew tap SynthiNet/synthinet $ brew install gcc47

Lo encontré en una publicación here .


Lo que Apple envía como el gcc predeterminado en xcode (4.2.1 en 10.6, 4.0.1 anterior) está bien probado (y mantenido) por los chicos de Apple y el "estándar" para construir software con OS X. Todo lo demás no lo es, así que piénselo dos veces si desea desarrollar un software o ser un probador beta de gcc / OS X.


Puede tener múltiples versiones de GCC en su cuadro, para seleccionar la que desea usar, llámelo con ruta completa, por ejemplo, en lugar de g++ use la ruta completa /usr/bin/g++ en la línea de comando (depende de dónde viva su gcc).

Para compilar proyectos, depende de qué sistema utilices, no estoy seguro acerca de Xcode (estoy contento con la atmósfera predeterminada) pero cuando usas Makefiles puedes establecer GXX = / usr / bin / g ++, y así sucesivamente.

EDITAR

Ahora hay un script xcrun que se puede consultar para seleccionar la versión apropiada de las herramientas de compilación en mac. Además del man xcrun , he buscado en Google esta explicación sobre xcode y las herramientas de línea de comandos, que prácticamente resume cómo usarlo.


Sé que es una vieja solicitud. Pero aún podría ser útil para algunos. Con las versiones actuales de MacPorts, puede elegir la versión predeterminada de gcc utilizando el comando de puerto. Para enumerar las versiones disponibles de gcc, use:

$ sudo port select --list gcc

Available versions for gcc: gcc42 llvm-gcc42 mp-gcc46 none (active)

Para configurar gcc en la versión de MacPorts:

$ sudo port select --set gcc mp-gcc46


Si instala macports, puede instalar gcc select y luego elegir su versión de gcc.

/opt/local/bin/port install gcc_select

Para ver el uso de tus versiones

port select --list gcc

Para seleccionar una versión use

sudo port select --set gcc gcc40


Solo me presento para decir que usar un enlace suave para lograr esto es una idea terrible, no buena, horrible.

Una de las cosas clave sobre la escritura de software es la reproducibilidad: desea obtener los mismos resultados siempre. Estos sistemas son tan complejos que desea reducir todas las fuentes invisibles de error.

Tener un enlace suave es una fuente invisible de error. Es el tipo de cosas que olvidará en un mes, luego pasará a una máquina diferente, y se preguntará por qué obtiene diferentes resultados, o bien, intentará actualizar su sistema, y ​​obtendrá errores extraños porque no es esperando un enlace suave allí.

Además, no está garantizado que funcione; en particular, no está claro si obtendrá los archivos de sistema correctos, que ciertamente han cambiado entre las iteraciones de gcc.

gcc_select es una forma sistemática de hacer lo mismo que funcionará de manera predecible, o en el peor de los casos puede presentar un informe de error y obtener una solución eventual o solucionarlo usted mismo.

Desafortunadamente :-( gcc_select no afecta qué compilador utiliza XCode, así que no es el camino a seguir si necesita trabajar en XCode (lo que hago). Todavía no sé de qué manera podría ser.


en el tipo /usr/bin

sudo ln -s -f g++-4.2 g++

sudo ln -s -f gcc-4.2 gcc

Deberias hacer eso.


usa "gcc_select -l"

> gcc_select -l

gcc40 mp-gcc44

> gcc_select mp-gcc44