콘텐츠로 건너뛰기
Home » GCC 관련 환경 변수

GCC 관련 환경 변수

gcc나 clang 같은 컴파일러로 소스를 컴파일할 때, #include <stdio.h> 와 같이 표준 라이브러리 헤더를 반입하거나, 라이브러리 파일을 사용하는 경우에 컴파일러는 이들 파일이 어디에 있는지 어떻게 알 수 있을까? 커맨드라인에서 -I 옵션이나 -L 옵션을 사용해서 직접 지정할 수도 있겠지만, 보통 이렇게 하는 것은 별도의 서드파티 라이브러리나 자신이 직접 만든 라이브러리를 사용할 때 쓰는 방법이다. 컴파일러는 미리 약속된 몇 가지의 환경 변수를 통해서 이러한 경로들을 알게 된다. GCC가 사용하는 몇 가지 환경 변수들을 소개한다. 전체 내용은 이곳에서 확인할 수 있다.

  • CPATH, C_INCLUDE_PATH : 헤더 파일을 찾을 디렉토리들을 지정한다. 언어에 따라서 CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH 같은 변형도 있다.
  • COMPILER_PATH : 컴파일러 및 컴파일러에서 사용하는 다른 바이너리의 위치를 정의한다.
  • LIBRARY_PATH : 라이브러리를 가져올 디렉토리들을 지정한다.
  • LANG : 컴파일러에게 로케일 정보를 전달한다.
  • SOURCE_DATE_EPOCH : 이 변수의 값은 유닉스 타임스탬프 값으로 지정하며, 지정한 경우에는 __DATE__, __TIME__ 매크로가 현재시간 대신 지정한 시점으로 변환된다.