GCC en OS X Lion con Xcode 4.3.1


14

Después de instalar Xcode 4.3.1 en OS X Lion, perdí mi compilador GCC. Necesito esto para mi estudio. ¿Alguien sabe cómo voy a instalar esto? Todo lo que pude encontrar fue personas que sugirieron instalar Xcode 4.3.1, pero con la última compilación de Xcode, Apple ha movido el compilador GCC dentro de Xcode.app y no parece ser la misma versión del compilador GCC que el incluido con versiones anteriores de Xcode.

Respuestas:


24

Abra XCode, vaya a preferencias en descargas, instale herramientas de línea de comandos


2
Esta fue definitivamente la forma más fácil de hacerlo. Gracias.
SimonBS

15

Recientemente ha habido un par de publicaciones de blog sobre cómo hacer esto, en el contexto de intentar compilar Ruby 1.8.7 (el mío y otros ). La respuesta corta:

Instale las herramientas de línea de comandos (en Xcode: Preferencias> Descargas> Componentes; o puede ir a Apple y descargarlas por separado si no tiene / quiere Xcode instalado): esto instala un gcccomando, pero en realidad es clang Instalar Homebrew (instrucciones) , un administrador de paquetes para OS X

Luego, instale el repositorio homebrew 'dupes' y desde él el compilador genuino GCC 4.2:

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

/usr/bin/gccseguirá siendo i686-apple-darwin11-llvm-gcc-4.2, pero /usr/local/bin/gcc-4.2será i686-apple-darwin11-gcc-4.2.1(y las herramientas asociadas, g++-4.2y así sucesivamente, también en /usr/local/bin)

Luego, puede usar cualquier mecanismo que use su proceso de compilación (por ejemplo, estableciendo las variables de entorno CC y CXX de manera apropiada) para seleccionar esos compiladores en lugar de las versiones de sonido metálico.


Realmente desearía haber encontrado tu solución hace unos días. Luché durante dos días seguidos. Yo haría +20 si pudiera.
Chance

5

No uso Xcode 4.3 para proyectos reales de Xcode, solo para la compilación de la fuente de la línea de comandos, y tuve el mismo problema. Puede recuperar sus comandos gcc y cc con los siguientes comandos desde la terminal:

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++

Esto hará cambios en todo el sistema , así que asegúrese de que eso es lo que desea antes de hacerlo.

Para que estos comandos funcionen, también necesitará instalar las Herramientas de línea de comandos para Xcode, si aún no las tiene instaladas. Las herramientas se pueden instalar a través del panel de preferencias de descargas de Xcode.


2
Una sugerencia: en lugar de eliminar los archivos binarios antiguos (línea 2 del script), tal vez solo colóquelos en un directorio de archivo en / usr / bin). De esa manera, si los necesita, aún puede invocarlos por ruta absoluta.
Scott C Wilson

Buena sugerencia. Haz con ellos lo que quieras, incluso: mv cc cc.orig && mv gcc gcc.origo algo así.
Lantrix
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.