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

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

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>링커를 제공하고 정보를 포함하면 충분합니다.

관련 정보