Ao criar o novo projeto C ++ no Eclipse, estou sendo questionado sobre a cadeia de ferramentas.
Qual é a diferença prática entre essas cadeias de ferramentas - Cross GCC
e Linux GCC
. Em que circunstâncias os usa? Isso tem algo a ver com a compilação do projeto nas máquinas linux e windows?
Em uma das respostas , podemos ler:
Geralmente, um compilador cruzado é um compilador que produz código para um tipo de sistema diferente do seu.
então, se eu compilar projeto na máquina de destino usando makefiles próprios, não importa qual opção eu escolherei aqui, certo?
Respostas:
O artigo do compilador Cross na wikipedia é bastante bom. Geralmente, um compilador cruzado é um compilador que produz código para um tipo de sistema diferente do seu. Geralmente, isso significa uma arquitetura de hardware de destino diferente, mas também pode significar um sistema operacional de destino diferente (ou ambos).
Teoricamente, você poderia combiná-las e usar um compilador cruzado na arquitetura A 1 e o sistema operacional S 1 para criar um compilador cruzado que seria executado na arquitetura A 2 no sistema operacional S 2 e produziria código para o sistema operacional S 3 na arquitetura A 3 .
Como Ulrich menciona em seu comentário, o Linux GCC deve ser seu compilador "nativo" (ou seja, para o mesmo destino).
fonte