ライブラリがインストールされている場所を見つけるにはどうすればいいですか?

ライブラリがインストールされている場所を見つけるにはどうすればいいですか?

Ubuntu 12.04のソフトウェアセンターからlibgoogle-perftools-devをインストールしました。http://pj.freefaculty.org/blog/?p=140cpp ファイルに以下を追加したい:

#include <gperftools/profiler.h>

しかしコンパイラは言う

 gperftools/profiler.h: No such file or directory

どこにあるか調べてみました:

$ locate -i gperftools

戻ることはできず、

$ locate -i "profiler.h"

戻り値

/usr/include/c++/4.6/profile/impl/profiler.h
/usr/src/linux-headers-3.2.0-23-generic-pae/include/config/function/profiler.h

それが のためのものかどうかはわかりませんgperftools

それでどうやって見つければいいのか

  • libgoogle-perftools-dev はどこにインストールされていますか?
  • gperftools/profiler.h はどこにありますか?

答え1

おそらく、このコマンドの問題locateは、データベースがまだ更新されておらず、新しくインストールされたパッケージファイルを反映できていないことです。強制的に更新 ( sudo updatedb) するか、find代わりに コマンドを使用することもできますが、パッケージ管理ツールを使用する Ubuntu などのシステムでは、パッケージの内容を一覧表示するのがおそらく最も簡単な解決策dpkgです。

dpkg -L libgoogle-perftools-dev

またはprofiler.hファイルの場所を具体的に確認するには

dpkg -L libgoogle-perftools-dev | grep 'profiler.h'

答え2

通常、pkg-config は、これらのケースのほとんどで、 pkg-config --list-allシステムに「既知」のパッケージをリストするのに役立ちます。そして、pkg-config --libs --cflags <package>リンカーとインクルード情報を提供するのに十分です。

関連情報