여러 헤더 파일이 데비안의 "표준" C++ 툴체인의 일부인지 어떻게 알 수 있나요?

여러 헤더 파일이 데비안의 "표준" C++ 툴체인의 일부인지 어떻게 알 수 있나요?

다음 헤더 파일이 누락되었다고 불평하면서 빌드가 실패했습니다.

/usr/include/Availability.h
/usr/include/AvailabilityInternal.h 
/usr/include/_types.h

내 환경에는 다음이 있어야 한다고 확신합니다. 즉, stdio.h또는 cmath(그리고 find / -iname stdio.h나에게 예상되는 대답을 제공합니다)... 하지만 위의 파일이 여기에 있어야 하는지 어떻게 알 수 있습니까?

답변1

파일(및 해당 파일이 속한 패키지)을 검색하는 가장 쉬운 방법은 apt-file명령입니다. 예를 들어 stdio.h를 검색합니다.

$ apt-file search /usr/include/stdio.h
libc6-dev: /usr/include/stdio.h

이제 누락된 헤더 파일(Debian 10.6에서)을 검색해 보았지만 모두 비어 있었습니다. 그러나 경로를 제거하고 파일 이름만 검색하면 몇 가지 히트가 발생합니다(출력에서 html 히트를 제거합니다).

$ apt-file search Availability.h
libclang-6.0-dev: /usr/lib/llvm-6.0/include/clang/AST/Availability.h
libclang-7-dev: /usr/lib/llvm-7/include/clang/AST/Availability.h
libclang-8-dev: /usr/lib/llvm-8/include/clang/AST/Availability.h
libjavascriptcoregtk-4.0-dev: /usr/include/webkitgtk-4.0/JavaScriptCore/WebKitAvailability.h

이 패키지는 모두 비표준 라이브러리이므로 Availability.h그렇지 않다고 가정해야 합니다.~해야 한다적어도 상자에서 나온 것입니다.

관련 정보