Debian

我如何知道一堆標頭檔是否是 Debian 上“標準”C++ 工具鏈的一部分

  • November 19, 2020

我有一個失敗的建構,它抱怨缺少以下標頭檔:

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

我確定我的環境必須有,即stdio.hcmath(並find / -iname stdio.h給我預期的答案)……但我怎麼知道上面的文件是否應該在這裡?

搜尋文件(以及它們所屬的包)的最簡單方法是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應該存在,至少是開箱即用的。

引用自:https://unix.stackexchange.com/questions/619766