2012-04-30 7 views
6

우분투에서 CMake를 사용하여 라이브러리를 컴파일하려고 시도하고 파일 중 하나에 glib.h가 포함되어 있습니다. 패키지가 설치되어 있고 glib.h/usr/include/glib-2.0/glib.h입니다.CMake 프로젝트에 glib.h 포함하기

다음을 추가했지만 컴파일러는 여전히 glib.h를 찾을 수 없습니다.

FIND_PACKAGE(glib-2.0) 
IF (glib-2.0_FOUND) 
    INCLUDE_DIRECTORIES(${glib-2.0_INCLUDE_DIR}) 
ENDIF() 

누구나 내가 알고 있다고 생각하는 패키지를 알고 계십니까? 내가 사용 결국

실제 코드는 당신이 링크를 통해 이동 제안

find_package(PkgConfig REQUIRED) 
pkg_check_modules(GLIB_PKG glib-2.0) 

if (GLIB_PKG_FOUND) 
    message(Found glib-2.0) 
include_directories(${GLIB_PKG_INCLUDE_DIRS}) 

답변

3

입니다 : How package finding works.

참고로이 CMake Module에서 glib2를 찾을 수 있습니다.

여기에 관심의 라인은 다음과 같습니다

find_path(GLIB_INCLUDE_DIR NAMES glib.h PATH_SUFFIXES glib-2.0) 

나는 당신이 당신의 <project root>/cmake/ 디렉토리에이 모듈을 복사하는 것이 좋습니다. 그리고 루트 CMakeLists.txt 파일에 find_package을 사용하십시오.

+1

두 번째 경우 깨진 링크입니다. –

+0

예, 링크가 끊어졌습니다. 나는 정말로 CMake 모듈 예제를보고 싶다. – Sean

+0

나는 이것이 https://github.com/gammu/gammu/blob/master/cmake/FindGlib.cmake일지도 모른다라고 생각한다. –

관련 문제