많은 충돌 정보가 표시되며 설명이 필요합니다. 빌드, 호스트 및 대상크로스 컴파일 용어 --- 빌드, 호스트 및 대상
빌드가 알고있는 세 가지 시스템 이름이 있습니다 : 당신은 (빌드)이 (호스트)에 대한 구축 기계를에 구축되어있는 기계, GCC가 코드를 생성 할 기계 (대상). GCC를 구성 할 때 --build =, --host = 및 --target =과 함께 지정합니다.
사실, 이해가 안 무엇 호스트 및 위의 정의에 대상의 차이.
다른 어떤 페이지는
'호스트'코드를 컴파일하는 데 사용하는 기계 (또는 아키텍처, 또는 플랫폼) 말한다; 'target'은 코드를 실행하기위한 기계 (또는 아키텍처 또는 플랫폼)입니다.
이 나에게 의미가 있지만,이 설명에서 호스트 항상 빌드과 동일하다 ?? 나는 꽤 혼란 스럽다.
필자의 경우 컴파일러 (GCC)가 x86_64 컴퓨터에서 실행되고 이진 실행 파일이 ARM에서 실행되도록 구성하고 있습니다. 이 프로그램은 C로 작성되었으므로 컴파일러는 GCC입니다.
./configure --build=x86_64 --host=x86_64 --target=arm-linux-gnueabihf
make
make install
이 빌드와 같은 호스트가 모두 x86_64에 있으며 대상은 팔입니다 소리. 그 맞습니까?
젠킨스 컴퓨터 (x86_64)에서 실행되는 내 자신의 임베디드 프로그램을 컴파일하고 있습니다. 그리고 임베디드 프로그램은 ARM 기반 컴퓨터에서 실행됩니다.
정확히 어떤 프로그램을 컴파일하고 있습니까? 일부 크로스 컴파일러 버전의 [GCC] (http://gcc.gnu.org/) 또는 이미 사용 가능한'gcc '바이너리가있는 자신의 프로그램? 몇 가지 [MCVE]를 보여주고 (질문에 약간의 출처를 보여 줌) 사용하고있는 정확한 * 컴파일 명령을 보여줍니다 (그리고 그들이 실행중인 컴퓨터에 대해 설명하십시오). 시스템 (호스트, 빌드 머신, 대상 머신)에 대해 알려주십시오. ** 개선을 위해 질문을 ** 수정하십시오. 현재 혼란 스럽습니다. –
편집을해도 질문이 명확하지 않습니다. "컴파일러를 구성하는 것"은 무엇을 의미합니까?* 구성 및 구성 방법 * * ** 귀하의 질문을 더욱 향상 시키십시오 **. 정확한 명령을 입력하십시오. 실행중인 컴퓨터에 대해 설명하십시오. ** 어떤 컴파일러를 사용합니까? ** * 및 * ** 어떻게 사용합니까? ** –
분명히 영어는 모국어가 아닙니다. 따라서 어휘를 향상시키고 (어쩌면 일부 사전을 사용하여), 사용중인 정확한 명령 *을 제공하십시오. IMHO 문장은 "컴파일러가 x86_64 시스템에서 실행되고 이진 실행 파일이 ARM에서 실행되도록 구성하고 있습니다."는 의미가 없습니다 (구성 방법과 방법을 알려주지 않음). 영어가 쉽지 않다는 것을 감안할 때 질문에 정보와 중복을 추가해야합니다. –