gcc는 내장된 포함 디렉토리 경로를 어디에 유지합니까?

gcc는 내장된 포함 디렉토리 경로를 어디에 유지합니까?

GCC에는 특정 표준 헤더에 대한 포함 디렉터리가 내장되어 있습니다. 이 목록이 어디에 있는지 알고 싶습니다. 새로 컴파일된 gcc는 표준 헤더를 찾을 수 없기 때문에 작은 테스트 C++ 프로그램을 컴파일하지 않습니다. 내 파일 시스템을 더 체계적으로 만드는 데 사용한 일부 구성 옵션 때문에 실패한 것 같습니다. 나는 bindir과 libdir을 설정했는데, 어떤 이유로 내장 포함 경로가 망가졌을 수도 있다고 생각합니다.

프로그램(dummy.c):

#include <iostream>
void main(){}

명령:

g++ dummy.c

오류:

dummy.c:1:20: fatal error: iostream: No such file or directory

답변1

전처리기는 자신이 무엇을 사용하는지 알려줄 수 있습니다.

cpp -x c++ -v

...

    #include "..." search starts here:
    #include <...> search starts here:
     /usr/include/c++/4.4
     /usr/include/c++/4.4/i486-linux-gnu
     /usr/include/c++/4.4/backward
     /usr/local/include
     /usr/lib/gcc/i486-linux-gnu/4.4.1/include
     /usr/lib/gcc/i486-linux-gnu/4.4.1/include-fixed
     /usr/include/i486-linux-gnu
     /usr/include
    End of search list.

C_INCLUDE_PATH및/또는 CPLUS_INCLUDE_PATH환경 변수를 설정하여 검색 경로에 디렉터리를 추가할 수 있습니다.

관련 정보