我如何知道一堆头文件是否是 Debian 上“标准”C++ 工具链的一部分

我如何知道一堆头文件是否是 Debian 上“标准”C++ 工具链的一部分

我的构建失败了,它抱怨缺少以下头文件:

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

我确信我的环境必须有,即,stdio.hcmath(并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不是应该在那里,至少是开箱即用的。

相关内容