2013-03-01 1572 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关于与MonoDevelop冲突pkg-config的问题。我卸载了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

这似乎已经奏效,谢谢。修复了其他几个文件后,我生成了文件。当然,我重写了以前的FindGlib2.cmake,所以我无法区分它们并查看问题所在。好吧。 – Nick 2013-03-04 14:25:08