Me di cuenta de que después de instalar OS X 10.9, el compilador g++ enlaces a la clang compilador. Es de todos modos hay que volver a gcc/g++?

  • es extraño que me parece que en os x 10.10 gcc no es realmente enlaces a sonar, pero algo como eso. ¿Sabe usted la diferencia exacta entre los dos?
InformationsquelleAutor ryan | 2013-10-23

5 Comentarios

  1. 68

    Ha sido de esta manera por un largo tiempo ya. El «GCC» que vino con 10.8 fue realmente GCC front-end con LLVM back-end.

    La mejor manera de conseguir GCC es a través de Homebrew. Después de la línea de comando install homebrew en la parte inferior de la página enlazada, solo se necesita:

    $ brew install gcc49

    A diferencia de macports, Homebrew no saturar su sistema dirs y es mucho mejor en el manejo de versiones y desinstala. También no requiere la muleta conocido como sudo.

    • Sus declaraciones acerca de macports son engañosas y fuera de tema.
    • Para aquel que se pregunta, brew tap homebrew/versions es un requisito previo para brew install gcc49
    • contundente y un poco de decir, seguro. Pero, ¿cómo es engañosa? Es sin duda en el tema; OP es claramente buscando la mejor manera de conseguir GCC, lo que implica que todos los gestores de paquetes son exactamente los mismos sería engañoso.
    • Es engañoso, ya que no es cierto; homebrew causas manera más sistema que el desorden y tiene muchos menos de los puertos disponibles. Me sugirió macports y sugirió homebrew, lo cual está bien, y que es como debe de ser. El punto es subjetivo y el argumento que vamos a tener acerca de esto hace que sea off-topic.
    • Puedo usar clang junto a la de gnu g++ compilador?
    • Por supuesto, tienen diferentes nombres.
    • cuando yo uso el g++, utiliza el ruido compilador por defecto. Lo que yo quería saber es si puedo instalar el gcc49 compilador con homebrew, es decir que cuando invoco g++, el compilador de gnu? Hay una manera fácil de cambiar entre los dos?
    • el nombre predeterminado de Homebrew del GCC es g++-49. Usted puede cambiar esto mediante la adición de un alias de Bash o un enlace simbólico en /usr/local/bin. Que el directorio ya debería aparecer en primer lugar en su $PATH por lo que un enlace simbólico debe reemplazar el valor predeterminado g++ sin tener que cambiar cualquier OSX original de los archivos.
    • ¿Por qué no brew install gcc?
    • hoy el comando es mejor.

  2. 11

    Tendrías que instalarlo desde macports:

    $ sudo port install gcc49

    Sin embargo no estoy seguro de cómo se desea integrar gcc en Xcode 5, sin embargo no hablar de por qué usted no puede utilizar clang?

    • Entonces, ¿uso el mismo versión de gcc así? Sospecho que no.
    • Yo no lo creo; su motivación es que su obra recopila durante el examen y para que iba a necesitar para el uso de la versión exacta de todo lo que en ambos sistemas (y ambos sistemas necesitan estar en la misma plataforma). Así que usted puede también utilizar clang si no puede reproducir completamente.
    • no puedo usar el sonido porque mi código depende de GNU gcc extensiones como funciones integradas… clang arroja toneladas de errores
    • Esto no funciona para mí. He instalado gcc48 de macports pero gcc todavía puntos a sonar en la terminal.
    • Suena como que usted no ha configurado $PATH, la configuración de los que es parte de la macports proceso de instalación.
    • macports añadido export PATH=/opt/local/bin:/opt/local/sbin:$PATH para mi ‘.bash_profile’. Podría no ser nada más que falta?
    • Si se ha reiniciado el Terminal.aplicación y $PATH es correcto (¿ $ echo $PATH ), entonces usted probablemente tendrá que macports gcc seleccione; véase esta respuesta (no la aceptan, el que con más upvotes): stackoverflow.com/questions/8361002/…
    • Gracias! Thats sido de conducción me volvió loca.
    • Después de instalar el gcc en mac puertos, hay que ejecutar sudo port seleccione –set gcc «la versión de gcc» con el fin de ser capaz de llamar al compilador g++ en mac puertos. De lo contrario, el sistema seguirá llamada clang++ detrás de las escenas.
    • En Xcode que yo sepa no se puede reemplazar el ruido compilador a menos que utilice una versión personalizada de archivo. No puedo recordar la exacta secuencia de llamada pero xcode tiene su propia versión de enlazador dinámico de las aplicaciones de la biblioteca. Este enlazador dinámico de una edición anterior tuve llama al compilador en /usr/bin. Dado que el compilador gcc en /usr/bin está vinculado a sonar. Clang es, en consecuencia, siempre se llama. Para entender mejor lo que me estoy refiriendo a retirar stackoverflow.com/questions/25961623/….

  3. 4

    Accesible y actualizada de los paquetes GCC están en http://hpc.sourceforge.net/

    • Me di cuenta de que su respuesta era la misma que la que iba a publicar. De todos modos me deja añadir más direcciones. Descargar su paquete y siga sus instrucciones. Después de la instalación de a /usr/local/bin, deberías editar la variable PATH y anexar /usr/local/bin a la parte delantera de la RUTA. Esto garantiza que cuando se llama a gcc o g++ en realidad, se llama el correcto y no un viejo mac obsoleto compilador. Nota: este paso sólo es importante si usted tiene un compilador g++ en el directorio /usr/bin. Yo desde que este equipo había 10.5 originalmente.
  4. 3

    también puede obtener un compilador g++ de http://hpc.sourceforge.net/. Ellos tienen el compilador en un pre-construido paquete. Sólo tienes que descargar y seguir sus instrucciones. Nota: puede que necesite cambiar la RUTA del ejecutable, y /usr/local/bin por delante de /usr/bin. Esto es para asegurar que g++ llama el derecho del compilador.

    • Sólo por curiosidad ¿por qué fue esta abajo votado? El post se explica cómo obtener una versión alternativa del compilador g++ y cambiar la configuración del sistema, de modo que g++ ya no se llama ruido del compilador de C++. ¿No es lo que el cartel original estaba pidiendo?
  5. 0

    Esto es así por diseño, y no es nueva en OS X 10.9. Apple obsoleto GCC hace mucho tiempo. Sólo uso Clang, o si necesita fortran/openmp/…, instalar GCC sí mismo a través de homebrew/macports/…

    • Vas a encontrar una diferencia entre no apoyar GCC y el enmascaramiento de ruido como gcc.
    • Son muy diferentes — muchos de los actuales códigos base la compilación fallará en Clang donde se trabajó muy bien en gcc/g++.
    • ¿Cuál es el punto? No me deje de usar Gcc, no me impide revertir la única diferencia observable alias g++ /path/to/g++, y desde este hardlink no muestra un mensaje de «USO de ESTRUENDO en LUGAR DE GCC, CAUSA en la que el ODIO de SOFTWARE LIBRE», ni siquiera comunicar su intención. Se ve como una solución buscando un problema.
    • Apple no tiene derecho a desaprobar el GCC.

Dejar respuesta

Please enter your comment!
Please enter your name here