Mientras hago en un programa que quiero instalar, que se instala bien en Opensuse, me sale el error
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++
standard library instead [-Wstdlibcxx-not-found]
/Users/xyz/rivet/YODA-1.7.7/pyext/yoda/util.cpp:446:10: fatal error: 'utility' file not found
#include <utility>
^~~~~~~~~
1 warning and 1 error generated.
error: command 'g++' failed with exit status 1
make[2]: *** [all-local] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
Lo que entiendo que se queja de no encontrar la librería de utilidades en c++ pero para MacOS, el compilador es clang y muestra que tiene el archivo
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility
La versión de MacOS es 10.14.6, y la versión de Xcode es la 11.0 (11A420a). ¿Cómo resolver este caso entonces?
0 votos
Clang no es g++, por ejemplo, tiene parámetros diferentes. y OpenSuse es Linux, no MacOS - Tienes que configurar el sistema de construcción para utilizar el compilador correcto y cosas específicas del sistema operativo, entonces podría funcionar. No todas las cosas escritas para Linux funcionan en MacOS
0 votos
Sé que OpenSuse es Linux, el punto aquí para mencionar que el script funciona en realidad, y la exacta script ha trabajado en otros Macs de mis colegas.
0 votos
Entonces tienes que incluir más información en la pregunta, lo obvio es en qué se diferencia tu configuración de la de tu colega.
1 votos
Eso es lo que no sé. El archivo .profile parece no existir en mi máquina pero sí existe el .bashrc. Estoy buscando algún comando específico en el .profile/.bashrc que pueda resolver este problema.
0 votos
No podemos ayudar sin más información - también es más probable que sea un problema con su sistema de construcción. g ++ es extraño para ver en un MacOS construir a menos que haya instalado gcc por Macports, Homebrew etc o directamente
0 votos
Cuando se construye el compilador, se configura para buscar en ciertos directorios archivos de cabecera y bibliotecas. Ejecutar
g++ --print-search-dir
para ver las rutas configuradas. Esto debería ayudarte a entender por qué no funciona en tu Mac, pero sí en tus colegas. Y para solucionarlo puedes añadir una ruta de inclusión al makefile, por ejemplo-I/some/path
0 votos
¿Qué hace
g++ --version
dar en su máquina y en las máquinas de trabajo.1 votos
NB el comando es
g++ --print-search-dirs
nota la última s0 votos
@woolfie gracias por la sugerencia. Pero lo que la solución se incluyó en el mensaje de error.