도와주세요!!
글 수 15,339
2002.07.22 17:53:16 (*.253.39.135)
6757
기본적인것 같은데 워낙 몰라서요..
일단 컴파일러, binutil등은 arm-linux사이트의 tool-chain2.95.3을
깔았습니다. 설치된 디렉토리는 /usr/loca/arm/2.95.3 아래고요.
일반적인 hello.c 같은 걸 컴파일할 때 stdio.h를 include하면 toolchain이
설치된 디렉토리 밑의 헤더를 include한다고 보면 될것 같은데
모듈프로그램의 경우 #incldue와 같은 경우 개발하려는 커널
의 inlcude/linux를 include하는게 맞을 것 같거든요.
그런데 toolchain 디렉토리의 sys-include를 살펴보면 커널의 include 디렉토
리와 거의 같은 디렉토리가 존재하고 또 실제로 컴파일하면 그곳을 incldue
하는것 같습니다. 결국 version.h가 없다면서 에러를 출력하죠.
이 경우 커널의 version.h만 카피해서 toolchain밑의 디렉토리로 넣어주면
되는 건지 아니면 makefile에 일일이 -I 옵션으로 커널의 include 디렉토리를
지정해 줘야 하는지 궁금합니다.
또 다른 방법으로 toolchain의 sys-inlcude의 linux와 asm디렉토리를
커널소스가 있는 디렉토리의 include/linux와 include/asm으로 심볼릭
링크를 시켜주어도 될것 같은데 이 경우 기존 toolchain의 sys-include의
linux와 asm을 지워야 하는데 그러면 어떤 문제가 생기지 않을까 해서요..
일단 컴파일러, binutil등은 arm-linux사이트의 tool-chain2.95.3을
깔았습니다. 설치된 디렉토리는 /usr/loca/arm/2.95.3 아래고요.
일반적인 hello.c 같은 걸 컴파일할 때 stdio.h를 include하면 toolchain이
설치된 디렉토리 밑의 헤더를 include한다고 보면 될것 같은데
모듈프로그램의 경우 #incldue
의 inlcude/linux를 include하는게 맞을 것 같거든요.
그런데 toolchain 디렉토리의 sys-include를 살펴보면 커널의 include 디렉토
리와 거의 같은 디렉토리가 존재하고 또 실제로 컴파일하면 그곳을 incldue
하는것 같습니다. 결국 version.h가 없다면서 에러를 출력하죠.
이 경우 커널의 version.h만 카피해서 toolchain밑의 디렉토리로 넣어주면
되는 건지 아니면 makefile에 일일이 -I 옵션으로 커널의 include 디렉토리를
지정해 줘야 하는지 궁금합니다.
또 다른 방법으로 toolchain의 sys-inlcude의 linux와 asm디렉토리를
커널소스가 있는 디렉토리의 include/linux와 include/asm으로 심볼릭
링크를 시켜주어도 될것 같은데 이 경우 기존 toolchain의 sys-include의
linux와 asm을 지워야 하는데 그러면 어떤 문제가 생기지 않을까 해서요..