Como encontrar onde uma biblioteca está instalada?

5

Instalei o libgoogle-perftools-dev por meio do software center no Ubuntu 12.04. Como sugerido pelo link , quero adicionar ao meu arquivo cpp:

#include <gperftools/profiler.h>

Mas o compilador diz

 gperftools/profiler.h: No such file or directory

Eu tentei encontrar onde está:

$ locate -i gperftools

sem retorno e

$ locate -i "profiler.h"

retorna

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

que eu não tenho certeza se são para gperftools .

Então, eu me pergunto como encontrar

  • onde o libgoogle-perftools-dev está instalado?
  • onde o gperftools / profiler.h está localizado?
por Tim 15.05.2014 / 06:14

2 respostas

8

Provavelmente, o problema com o comando locate é que o banco de dados ainda não foi atualizado para refletir os arquivos do pacote recém-instalado. Você poderia forçar uma atualização ( sudo updatedb ) ou usar o comando find , mas provavelmente a solução mais fácil em sistemas como o Ubuntu que usam as ferramentas de gerenciamento de pacotes dpkg é listar o conteúdo do pacote

dpkg -L libgoogle-perftools-dev

ou para verificar a localização do arquivo profiler.h especificamente

dpkg -L libgoogle-perftools-dev | grep 'profiler.h'
    
por 15.05.2014 / 06:30
2

Normalmente, o pkg-config ajuda na maioria desses casos pkg-config --list-all lista pacotes que são "conhecidos" para o seu sistema. E então pkg-config --libs --cflags <package> é bom o suficiente para fornecer linker e incluir informações.

    
por 15.05.2014 / 14:01