2012-04-30 12 views
6

Próbujesz skompilować bibliotekę w Ubuntu za pomocą CMake i jeden z plików zawiera glib.h. Pakiet jest zainstalowany i glib.h jest w /usr/include/glib-2.0/glib.h.W tym glib.h w projekcie CMake

Dodałem następujący tekst, ale kompilator nadal nie może znaleźć pliku glib.h.

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

Ktoś wie, jakiego pakietu mam szukać?

rzeczywisty kod, że skończyło się to

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}) 

Odpowiedz

3

Proponuję przejść przez link: How package finding works.

Jako odniesienie można zapoznać się z tym CMake Module w celu znalezienia glib2.

Linia zainteresowanie tutaj jest:

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

Proponuję skopiować ten moduł w katalogu <project root>/cmake/. A następnie użyj pliku find_package w głównym pliku CMakeLists.txt.

+1

Drugi, jeśli uszkodzony link. –

+0

Tak, łącze jest zepsute. Naprawdę chciałbym zobaczyć przykładowy moduł CMake – Sean

+0

Wierzę, że to może być https://github.com/gammu/gammu/blob/master/cmake/FindGlib.cmake –

Powiązane problemy