複数のヘッダファイルが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必要があります。しなければならない少なくとも箱から出てきます。

おすすめ記事