Как найти, где установлена ​​библиотека?

Как найти, где установлена ​​библиотека?

Я установил 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>достаточно хорош, чтобы предоставить информацию о компоновщике и включении.

Связанный контент