Al crear un nuevo proyecto C ++ en Eclipse, me preguntan sobre la cadena de herramientas.
¿Cuál es la diferencia práctica entre estas cadenas de herramientas - Cross GCC
y Linux GCC
. ¿En qué circunstancias usarlos? ¿Tiene algo que ver con si el proyecto se compilará tanto en máquinas Linux como en Windows?
En una de las respuestas podemos leer:
Generalmente, un compilador cruzado es un compilador que produce código para un tipo de sistema diferente al suyo.
así que si compilo el proyecto en la máquina de destino utilizando archivos MAKE propios, no importa qué opción elegiré aquí, ¿verdad?
Respuestas:
El artículo del compilador Cross en Wikipedia es bastante bueno. Generalmente, un compilador cruzado es un compilador que produce código para un tipo de sistema diferente al suyo. Por lo general, esto significa una arquitectura de hardware de destino diferente, pero también puede significar un sistema operativo de destino diferente (o ambos).
Teóricamente, podría combinarlos y utilizar un compilador cruzado en la arquitectura A 1 y el sistema operativo S 1 para construir un compilador cruzado que se ejecute en la arquitectura A 2 en el sistema operativo S 2 y producir código para el sistema operativo S 3 en la arquitectura A 3 .
Como Ulrich menciona en su comentario, Linux GCC debería ser su compilador "nativo" (es decir, para el mismo objetivo).
fuente