내 프로세스 정보 :
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