include 파일의 경로 변경

익명 사용자의 이미지

안녕하세요

include 파일의 경로를 변경하는 방법을 알고 싶습니다.
예를 들면 커널을 보통 /usr/src/linux 에 있고 여기서 모듈 프로그래밍을
하려면 #include 이런 식으로 선언을 해주는데
만약, 커널 (또는 다름 언어의 라이브러리 ) 가 /tmp 밑에 들어가 있다면
include 의 경로를 자동으로 인식하게 끔 해줄수 있는 방법이 있나요?

제가 만약 #include "/tmp/usr/src/linux"
이렇게 했더니, 컴파일 중간에 에러가 남니다.
아마 헤더 파일 내부에 있는 경로가 안맞아서 그런것 같거든요..

답변 주시면 감사하겠습니다.

익명 사용자의 이미지

-I [경로] 옵션이면 되지 않을까요?
( 소문자 L 말고 대문자 i 입니다. )

gcc -I /tmp ....

익명 사용자의 이미지

/usr/src/linux/include 디렉토리도 /usr/include/linux에 링크를 시킨것이기에...
만일 계속적인 필요성을 느끼고 그디렉토리가 계속적으로 유지 된다면

$ ln -sf /tmp/usr/src/linux/include /usr/include/tmp
형식으로 링크를 시켜주고 소스에서는

#include "tmp/myheader.h"

이렇게 선언을 해주어도 되겠죠.
물론 이방법은 그 디렉토리가 계속 유지된다는 전제하에서(삭제되면 링크가 깨지기때문에...)
사용하시는게 좋습니다.