3 votos

¿Cómo hago que llvm-gcc apunte a gcc en lugar de clang?

Cuando pregunto qué versión de gcc tengo, obtengo lo siguiente:

Configurado con: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM versión 9.1.0 (clang-902.0.39.2)
Objetivo: x86_64-apple-darwin17.6.0
Modelo de hilo: posix
Directorio instalado: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Cuando intento obtener información sobre gcc: ls -la /usr/bin |grep gcc

Obtengo:

-rwxr-xr-x     1 root   wheel     18288 May 29  2018 gcc
-rwxr-xr-x     1 root   wheel      2043 Sep 26  2016 gccmakedep
lrwxr-xr-x     1 root   wheel         5 Mar 28  2018 llvm-gcc -> clang

Estoy usando MacOS 10.13.5, y la razón por la que quiero usar gcc en lugar de clang es porque tengo código que quiero ejecutar en MATLAB que está en C, pero no puedo compilar el código con clang, porque fopenmp no es compatible.

Cuando intento compilar solo la parte de matlab del programa para poder ejecutarlo con una interfaz de matlab:

make matlab

Obtengo el siguiente error:

gcc -std=c99 -pedantic -Wall -O3 -fopenmp -DSSHT_VERSION=\"1.2b1\"...

clang: error: opción no compatible '-fopenmp'

Utilicé el enlace: Installed gcc with Homebrew, now how to use that gcc instead of clang?

export PATH=/usr/bin
export CXX=/usr/local/Cellar/gcc/8.2.0/bin/g++-8
export CC=/usr/local/Cellar/gcc/8.2.0/bin/gcc-8

en mi código.

0 votos

Bienvenido a Ask Different. - Esto se pregunta bastante a menudo, por lo que perdóname por suponer que estás utilizando el gcc incorporado que llama a clang para actuar como gcc en lugar de ser gcc - Si es así, ¿esto responde a tu pregunta completa? apple.stackexchange.com/questions/245891/…

0 votos

La versión de gcc que tengo es de homebrew. Es la 8.2.0. Intenté la solución en ese enlace antes de publicar esto, pero no funcionó para mí.

0 votos

Perfecto - Haría una pequeña edición - di que utilizaste el enlace (en el cuerpo) para obtener gcc (y muestra tu ruta a gcc / versión) si quieres reforzar eso. No todos verán los comentarios. Me alegra no haberlo cerrado como duplicado por una suposición. Buen problema - espero que el colectivo "nosotros" pueda ayudar

2voto

yoliho Puntos 340

Apple y xcode no proporcionan gcc. Cualquier archivo llamado gcc es un enlace a clang

Necesitas instalar gcc de un tercero y también verificar que la versión tenga mp habilitado.

La forma más fácil es instalar gcc usando un gestor de paquetes como macports, homebrew o fink.

0 votos

Mark - ¿habría alguna manera de pasar la mp habilitar a brew para que se compile? Estoy muy oxidado en gcc y no quiero asignar tarea, pero si por casualidad lo sabes...

0 votos

Tuve que especificar directamente la ruta de mi gcc en el código, ¡pero funcionó!

0 votos

@bmike - No soy un experto en Homebrew, pero ¿acaso brew solo instala programas? Así que solo agrega un programa, por ejemplo gcc, al $PATH.

-1voto

StatsBrooklyn Puntos 9

Teniendo gcc instalado con homebrew, apunta directamente a donde está instalado al inicio del código para compilar (makefile):

export CXX=/usr/local/Cellar/gcc/8.2.0/bin/g++-8
export CC=/usr/local/Cellar/gcc/8.2.0/bin/gcc-8

0 votos

Eso no es una buena configuración para PATH /bin, al final sería necesario por ejemplo para cp y mv.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X