라이브러리가 설치된 위치를 찾는 방법은 무엇입니까?

라이브러리가 설치된 위치를 찾는 방법은 무엇입니까?

Ubuntu 12.04의 소프트웨어 센터를 통해 libgoogle-perftools-dev를 설치했습니다. 제안한대로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>링커를 제공하고 정보를 포함하기에 충분합니다.

관련 정보