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
환경 변수를 설정하여 검색 경로에 디렉터리를 추가할 수 있습니다.