あなたが何をすべきかはあなたの目標に依存しますが、それは私にはよくわかりません。ファイルを作成する場合は、前の回答で述べたように、おそらくmakedependを使用する必要がありmake
ます。
代わりに、システムに複数のバージョンのヘッダーファイルがあるかどうかを確認したい場合は、locate
コマンドの使用を検討してください。たとえば、私のubuntu 12.04 linuxシステムでは、次のコマンドが完了するまでに約1秒かかり、コマンドの下に示す出力が生成されます。
$ locate stdio.h | grep usr/include
/usr/include/stdio.h
/usr/include/c++/4.6/tr1/stdio.h
/usr/include/glib-2.0/glib/gstdio.h
/usr/include/sharutils/stdio.h
/usr/include/x86_64-linux-gnu/bits/stdio.h
ファイルpqrの別々の行にライブラリパスのリストがあり、ファイルxyzにヘッダーファイルのリストがある場合は、次のようなコマンドを使用できます。
locate / | grep -f xyz | grep -f pqr
(必要に応じて、-F
と一緒に使用できます-f
。)2行(stdio.h
およびstdlib.h
)が入力されxyz
、2行(/usr/include/
および/usr/lib/
)が入力されpqr
ている場合、コマンドは出力を生成するために私のシステムで.7秒かかります
/usr/include/stdio.h
/usr/include/stdlib.h
/usr/include/c++/4.6/tr1/stdio.h
/usr/include/c++/4.6/tr1/stdlib.h
/usr/include/freetype2/freetype/config/ftstdlib.h
/usr/include/glib-2.0/glib/gstdio.h
/usr/include/sharutils/stdio.h
/usr/include/sharutils/stdlib.h
/usr/include/x86_64-linux-gnu/bits/stdio.h
/usr/include/x86_64-linux-gnu/bits/stdlib.h
/usr/lib/perl/5.14.2/CORE/nostdio.h
/usr/lib/syslinux/com32/include/stdio.h
/usr/lib/syslinux/com32/include/stdlib.h
一般的なLinuxシステムでは、ファイル名データベースは1日1回更新されることに注意してください。システムヘッダーファイルを探す場合、これはおそらく問題にはなりません。sudo updatedb
より一時的なファイルの場合は、を使用する前に言う必要があるかもしれませんlocate
。これにより、全体の時間が数秒から数分長くなります。