Ubuntu 18.04에 크로스 컴파일러를 설치하는 방법은 무엇입니까?

내 프로세스 정보 :

 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 158 Model name: Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz Stepping: 9 CPU MHz: 1036.788 CPU max MHz: 3500,0000 CPU min MHz: 800,0000 BogoMIPS: 6000.00 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 6144K NUMA node0 CPU(s): 0-3 

시도한 결과 :

sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi 

필요한 경우 :

arm-linux-gcc arm-linux-gcc: command not found 

크로스 컴파일러 설치 방법

설명

답변

TLDR

arm-linux-gcc가 아닙니다.


방금 잘못된 파일 이름을받은 것 같습니다. 참고 용 apt-file는 유용한 도구입니다.

sudo apt-get install apt-file sudo apt-file update apt-file search -x "gcc$" | grep "gcc-arm-linux-gnueabi" 

gcc 이름에 gcc-arm-linux-gnueabi가있는 모든 패키지의 결과는 다음과 같습니다.

gcc-arm-linux-gnueabi: /usr/bin/arm-linux-gnueabi-gcc 

gcc-arm-linux-gnueabi를 설치하면 /usr/bin/arm-linux-gnueabi-gcc 파일이 있어야합니다.

댓글

  • arm-linux-gnueabi를 검색한다는 것은 이미 답을 알고 있다는 의미입니다 ;-). apt-file search -x 'arm-linux.*gcc$'가 더 검색 가능합니다.
  • 맞습니다. OP '의 질문에 " 시도했지만 … " 말씀하신대로 ' 모르는 경우 정규 표현식에 대한 좋은 지식도 도움이됩니다.
  • 요점은 OP가 어떤 명령을 몰랐습니다. 실행하기 위해 패키지 내용에서 무엇을 검색해야할지 알 수 없었습니다 (패키지 이름과 반대).
  • 내가 직접 찾기 전에는 이에 대한 사전 지식이 없었습니다. 내 대답의 검색은 이미 설치 한 패키지와 명령 이름 끝에있는 gcc-이미 시도한 항목의 일반화 (arm-linux-gcc)-처음 시도한 것이 었습니다 ..
  • apt-file search를 사용하여 패키지 이름을 찾는 것이 놀랍습니다. ( “이것은 모든 패키지에서 arm-linux-gnueabi“를 포함하는 파일 또는 패키지를 검색합니다.) apt-file search는 패키지 콘텐츠 ( 또한 우연히 /usr/share/doc/<package>/copyright) 덕분에 패키지 이름을 찾습니다.

Answer

steeldriver 에서 알 수 있듯이 이미 크로스 컴파일러를 설치했습니다. 문제는 잘못된 명령을 사용하여 호출한다는 것입니다. 일반적으로 arm-linux-gnueabi- 접두사를 사용해야합니다. 따라서

arm-linux-gnueabi-gcc 

또는

arm-linux-gnueabi-g++ 

를 실행하면 제대로 작동합니다.

이 문제를 직접 파악하려면 dpkg -L를 사용하여 설치 한 패키지의 내용을 나열 할 수 있습니다.

dpkg -L gcc-arm-linux-gnueabi 

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다