![GCC 크로스 빌드에 대한 올바른 대상을 추론하는 방법은 무엇입니까?](https://linux55.com/image/49370/GCC%20%ED%81%AC%EB%A1%9C%EC%8A%A4%20%EB%B9%8C%EB%93%9C%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%98%AC%EB%B0%94%EB%A5%B8%20%EB%8C%80%EC%83%81%EC%9D%84%20%EC%B6%94%EB%A1%A0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 Debian이 실행 중인 32비트 x86 시스템을 가지고 있으며 다음 속성을 가지고 있습니다.
uname -r
이고3.2.0-4-486
uname -m
예i586
이 경우 데비안 설치를 위해 다른 컴퓨터에서 gcc를 교차 컴파일할 수 있도록 올바른 접두사 HOST
와 접두사를 선택해야 합니다 .TARGET
i486
아니면 을 선택해야 할까요 i586
? 나는 그것을 시도했지만 i686
분명히 전혀 작동하지 않습니다 (gcc가 컴파일되고 실행됩니다. 접두사를 사용하는 시스템에서 헤더를 찾을 수없는 것은 gcc/g++ 컴파일러입니다 i686
).
답변1
크로스 컴파일이 필요하지 않다고 생각합니다. 간단히 를 사용하여 -march
표시 할 수 있습니다 cpu-type
.http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/i386-and-x86_002d64-Options.html전체 목록을 확인하세요. 귀하의 경우에는 -march=i586
작동합니다.
답변2
구형 486과의 호환성이 필요하거나 686의 최고의 성능이 필요하다면 추론을 해서는 안 되며, 필요한 것을 이해하고 선택해야 합니다.
헤더 누락은 다른 문제일 뿐입니다.