2013-03-01 5 views
1

На OS X 10.8.2, у меня есть MacPorts и установили:CMake не может найти glib2

glib2 
pkg-config 

среди других вещей. Запуск cmake пытается использовать pkg-config для поиска glib2. Запуск pkg-config --libs glib-2.0:

-L/opt/local/lib -lglib-2.0 -lintl

и --cflags:

-I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include

Тем не менее, когда я пытаюсь ввести их в (по отдельности или все из них с помощью ; или :), и все виды комбинации, или когда я попытался загрузить gtk и использовать glib2 dirs из этого: cmake жалуется, что он не может найти каталоги:

checking for module 'gstreamer-0.10' 
    found gstreamer-0.10, version 0.10.36 
checking for module 'glib-2.0' 
    found glib-2.0, version 2.34.3 
CMake Error at /Applications/CMake 2.8-10.app/Contents/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (message): 
    Could NOT find GLib2 (missing: GLIB2_LIBDIR GLIB2_INCLUDE_DIRS) 
Call Stack (most recent call first): 
    /Applications/CMake 2.8-10.app/Contents/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:291 (_FPHSA_FAILURE_MESSAGE) 
    cmake/Modules/FindGLib2.cmake:127 (find_package_handle_standard_args) 
    cmake/Modules/FindGStreamer.cmake:12 (find_package) 
    CMakeLists.txt:32 (find_package) 

Я видел this page о конфликте pkg-config с MonoDevelop. Я удалил Mono, не имею никаких других исполняемых файлов pkg-config, которые я могу найти, и очистил кэш CMake без всякой удачи. Я рассмотрел особенности cmake и нашел glib.h и glibconfig.h, которые находятся в этих каталогах. Почему он не может просто себя вести?

ответ

1

Попробуйте использовать этот файл: http://svn.opensync.org/branches/3rd-party-cmake-modules/modules/FindGLIB2.cmake

В основном файле CMakeLists.txt, введите следующую строку:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/helper/") 

Это предполагает, что выше FindGLIB2.cmake хранится в каталоге/помощнике выключить src.

Содержимое этого файла поможет CMake лучше найти GLIB2.

Эта ссылка поможет вам понять, как эти файлы работают: http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries#Writing_find_modules

+0

Это, похоже, работал, спасибо. После исправления некоторых других я создал make-файлы. Конечно, я перезаписал предыдущий FindGlib2.cmake, поэтому я не могу их разграничить и посмотреть, в чем проблема. Ну что ж. – Nick

Смежные вопросы