Estoy usando la última versión de Ubuntu que viene con la versión de gcc 4.4.5. Necesito recompilar un programa que no haya sido escrito por mí y que solo se pueda compilar con una versión anterior de gcc como la 4.0. Logré configurar esta versión anterior y usé un prefijo durante el proceso de instalación para que mi versión anterior de gcc esté en /opt/gcc-4.0.1/bin. Intenté crear un enlace simbólico usando ln -s /opt/gcc-4.0.1/bin/gcc gcc
. Pero cuando invoco gcc -v
sigo obteniendo el resultado gcc version 4.4.5
. Para compilar mi programa que ya viene con un archivo MAKE, si lo hago make
, sigue usando la nueva versión de gcc. ¿Cómo podría decirle al make
que use la versión anterior?Cómo usar 2 versiones diferentes de GCC en Linux Ubuntu y forzar MAKE para usar una de ellas
Respuesta
Utiliza algunas variables estándar para determinar qué herramientas usar, la variable del compilador C se llama "CC". Puede establecer la variable de CC, ya sea directamente en su Makefile
CC=/opt/gcc-4.0.1/bin/gcc
lo cual está bien si usted está trabajando solo en él, o todos tienen la misma configuración. O puede pasar en la línea de comandos, así:
make CC=/opt/gcc-4.0.1/bin/gcc
la tercera opción se establece /opt/gcc-4.0.1/bin antes de que todo lo demás en su camino (por lo que no funciona para usted, el directorio actual no está en el camino, por lo que el enlace simbólico que se pone ahí no será considerado en la búsqueda)
export PATH=/opt/gcc-4.0.1/bin:$PATH
para completar, en su solución de enlace simbólico, que tendría que invocar ./gcc
para obtener el derecho gcc instancia, pero en mi humilde opinión, esta no es probablemente la mejor solución.
HTH
- 1. Cómo usar múltiples versiones de GCC
- 2. Cómo usar una versión anterior de gcc en Linux
- 3. ¿Cómo usar make y compilar como C99?
- 4. ¿Cómo instalar "make" en ubuntu?
- 5. ¿Cómo configurar Eclipse para usar Phonegap en Ubuntu?
- 6. ¿Cómo usar 2 backends de caché diferentes en Django?
- 7. Maven 2 - diferentes versiones de dependencia en prueba y compilación
- 8. ¿Cómo se configura GCC en Eclipse para usar C99?
- 9. ¿Cómo se puede usar tlbimp para especificar diferentes versiones de archivos y ensamblajes?
- 10. Cómo forzar a OpenMPI a usar GCC en lugar de ICC? ¿Es necesario recompilar OpenMPI?
- 11. ¿Configura Maven para usar diferentes JDK para diferentes versiones de J2SE?
- 12. Tener resultado diferente en diferentes versiones de gcc
- 13. ¿Cómo identificar si dos versiones diferentes de gcc son compatibles?
- 14. ¿Cómo usar OpenSSL en GCC?
- 15. Compilar C++ para varias versiones de Ubuntu
- 16. Forzar GCC para usar el prefijo de repetición en memset() llamar
- 17. Motivo para usar versiones anteriores de jQuery?
- 18. Usar make con msysgit
- 19. ¿Forzar a Linux a usar solo memoria sobre 4G?
- 20. ¿Dónde están almacenados los archivos de inclusión - Ubuntu Linux, GCC
- 21. ¿Cómo usar diferentes archivos .settings para diferentes entornos en .NET?
- 22. ¿Cómo puedo forzar a gcc a usar implementaciones personalizadas de las funciones implementadas de newlibc?
- 23. ¿Cómo usar el atributo 'formato' de GCC?
- 24. ¿Cómo instalar y usar GAS (compilador GNU) en Linux?
- 25. Cargando en el cheeseshop versiones diferentes de un paquete para diferentes versiones de Python
- 26. cómo usar un archivo make para mingw en win32
- 27. ¿Buen tutorial de OpenGL para Linux/Ubuntu?
- 28. Línea de shebang condicional para diferentes versiones de Python
- 29. Usar diferentes versiones de una biblioteca de Python en el mismo proceso
- 30. Cómo usar travis-ci o gruñir para probar con diferentes versiones de un script
Si el paquete de la OP está recopilando utiliza un script 'configure', a continuación, establecer' cc' como una variable de shell exportado antes de ejecutar 'configure' debe configurarlo en el' generada Makefile'. – caf
make CC =/opt/gcc-4.0.1/bin/gcc funciona perfectamente y es la solución más fácil. Gracias – blackLabrador