Existe algum padrão para especificar triplas alvo no GCC?

2

O compilador gcc usa triplas de destino para compilação cruzada. Eu vejo alguns desses triplos alvo como "x86_64-pc-linux-gnu" (o mais comum). Eu entendo o que significa, mas eu não sei como especificar outro sistema semelhante a unix, em vez de "linux-gnu". Existe algum documento para isso? e o "pc" parece ser opcional (devo me preocupar com isso?), quando executo um script "config.guess", ele me retorna "x86_64-unknown-linux-gnu".

    
por Danilo 16.06.2013 / 18:16

2 respostas

2

Para cruzar a compilação, você deve ter (ou construir) um compilador cruzado; O gcc não pode, por padrão, apenas compilar para qualquer destino para o qual possa ser configurado. Existe uma lista de possibilidades no pacote fonte do gcc, acredito.

Construir uma cadeia de ferramentas de compilador cruzado não é uma tarefa simples, portanto, se você quiser fazer isso, terá que decidir para que serve e fazer perguntas mais específicas.

Há também uma lista de hosts / alvos com anotações aqui . Um asterisco indica que qualquer valor pode ser usado nessa posição (presumivelmente, isso não faz diferença para o compilador e é simplesmente um rótulo definido pelo usuário); o pc do qual você está falando pode ser assim.

    
por 16.06.2013 / 19:15
1

config.guess é o documento, na verdade. Mas simplesmente construir um cross-gcc não vai te levar muito longe se você também não tiver as bibliotecas para o sistema de destino.

    
por 16.06.2013 / 21:23