크로스 컴파일러 문제입니다.
글쓴이: gksendbs / 작성시간: 월, 2012/11/12 - 7:29오후
크로스 컴파일러를 설치하였습니다.
이미 만들어진 툴체인입니다.
압축을 풀고 /usr/local/arm 에 넣어주었습니다.
툴체인의 이름은 arm-2009q3인데 이 폴더 아래의 bin에 보면
여러가지 컴파일러가 있습니다.(arm-none-linux-gnueabi-*)
저는 이 컴파일러의 path를 설정해주기 위해서
~/.bashrc에 PATH=/usr/local/arm/arm-2009q3/bin:$PATH를 설정해주고
터미널에 위와 같이 입력해주었습니다.
그리고 터미널을 끄고 arm-none-linux-gnueabi-gcc -v해주니 뭔가가 쫙 떴습니다.(잘 설치된듯)
근데 make파일의 CC를 arm-none-linux-gnueabi-gcc를 해주니까 자꾸 컴파일러가 없다고 합니다.
흑흑 고수님들 도와주세요
path를 bin 아래에 gcc까지 연결해봤는데도 되지 않습니다.
제가 뭘 잘못했나요?ㅠㅠ
File attachments:
첨부 | 파일 크기 |
---|---|
compiler.png | 284.31 KB |
make.png | 268.55 KB |
Forums:
첨부파일을 참고해주세요.ㅠㅠ
사진이 바로 뜨는줄 알았는데 아니군요.
고수님들 제발 도와주세요.ㅠㅠ
이거때문에 몇시간을 이러는지.ㅠㅠ
Makefile에서 사용하는 shell에 path
Makefile에서 사용하는 shell에 path 설정이 안된듯
절대경로로 하세요
path/to/gcc는 뭔가요?
패쓰에 제경로를 적는건가요 아니면 그대로 적으면 되나요?리눅스 초보라서.ㅍㅍ
됩니다.ㅠㅠ
절대 경로로 하니까 되는군요.ㅠㅠ
근데 죄송하지만 왜 gcc가 상대경로로 되지않는지 알수있을까요?
makefile에서 default로 사용하는
makefile에서 default로 사용하는 shell은
/bin/sh입니다.
님이 설정을 적어주신 .bashrc파일은 /bin/bash가 사용하는 파일이고요..
따라서 터미널로 로그인했을때는 .bashrc를 참고하므로,
path가 잘 잡힙니디만, makefile에서는 그게 안되는거죠..
되도록 하려면
1. Makefile이 bash를 사용
SHELL = /bin/bash
2. /bin/sh의 설정파일에 path를 지정
이건 아마도 ~/.profile 일겁니다.. (확실치는 않네요..)
--
Makefile의 경우에는
절대경로로 잡는 것이 일반적입니다..
여러 환경/사용자/플랫폼에서 공통으로 사용하게 되는데,
그게 외부 변수에 의해서 결정되면 곤란할 듯..
gcc는 워낙에 표준적이라 예외..
감사합니다!
자세한 설명이 저에게 너무 많은 도움이 되었습니다.
~/.bash_profile은 지정이 안되서 궁금했거든요.ㅠㅠ
컴파일 경로가 bin/sh와 /bin/bash라는 것이 신기합니다.ㅋㅋ
음...
Makefile에서
CC 앞에 #은 지우고 make 실행하신거죠? (#은 주석처리)
네브ㅠㅠ
도저히 안되서 디폴트로 하려고 햤는데 디폴트는 크로스 컴파일러가 아니더군요ㅜㅜ
터미널 열고 나서 echo $PATH 해서 path
터미널 열고 나서 echo $PATH 해서 path 가 적용되었는지 확인해 보세요.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
댓글 달기