Я установил libgoogle-perftools-dev через центр программного обеспечения в Ubuntu 12.04. Как предложилhttp://pj.freefaculty.org/blog/?p=140, я хочу добавить в свой cpp-файл:
#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>
достаточно хорош, чтобы предоставить информацию о компоновщике и включении.