2017-10-30 3 views
0

여러 대상에 대해 단일 gcc를 사용하려고합니다. 다중 타겟을 지원하기위한 소스를 구축 할 수 있습니까?은 x86, arm, ppc와 같은 여러 대상에 대해 단일 gcc 생성 실행 파일을 생성 할 수 있습니까?

+4

[여러 대상이 포함 된 Makefile]이 중복 될 수 있습니다. (https://stackoverflow.com/questions/35006/makefile-with-multiple-targets) – mrbox

+0

정확히 무엇을 부르시겠습니까? "하나의 gcc"와 왜 하나가 필요한가? –

+0

gcc는 그런 식으로 설계된 것이 아니기 때문에 다시 작성할 수 있습니다. 3 분의 1 반 정도를 교체해야하거나 백엔드에서 여러 대상을 누르기위한 일반 백엔드를 만들 수 있습니다. –

답변

2

대답은 아니오입니다. gcc과 함께 할 수 없습니다. 이 목표를 달성하기 위해 일부 교차 컴파일러를 사용할 수 있습니다.

하지만 정말로 이것을해야한다면 clang 컴파일러를 사용할 수 있습니다. 가브리엘에

https://clang.llvm.org/docs/CrossCompilation.html

0

추가 답 : 여기에 링크입니다. 위에서 언급 한 모든 아키텍처는 서로 다른 CPU입니다.

gcc 컴파일러로 다른 바이너리를 생성 할 수 없습니다. 호환되는 호환 코드를 생성하는 각 컴파일러마다 다른 툴 체인이 있어야합니다.

x86, PPC 및 ARM은 다른 컴퓨터입니다. 호스트 툴체인을 사용하여 작성한 코드는 실행할 수 없습니다.


아래 제공된 참조 번호는 host-gcc가 아닌 기계 전용 툴 체인입니다. 이것은 매우 성가 시며 직접적인 접근법이 아닙니다.

호기심 들어, 나는 또한 당신은 또한 GCC 이외의 다른 구성 요소를 구축해야 유용한 툴 체인을 가지고 그를 추가거야 bitbake 봐, parallel build of multiple machines

0

을 가질 수 있습니다. 어셈블러 및 링커 (예 : binutils) 및 C 라이브러리 (예 : glibc, musl, newlib 등)와 같은 구성 요소 각 구성 요소를 특정 대상에 맞게 구성해야합니다.

관련 문제