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>
リンカーとインクルード情報を提供するのに十分です。