Macos cmake找不到glib2

Macos cmake找不到glib2,macos,cmake,macports,Macos,Cmake,Macports,在OS X 10.8.2上,我有macports并安装了: glib2 pkg-config 除其他外。我运行的cmake尝试使用pkg config查找glib2。运行pkg配置--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 然而,当我尝试输入这些内容时(

在OS X 10.8.2上,我有macports并安装了:

glib2
pkg-config
除其他外。我运行的cmake尝试使用pkg config查找glib2。运行
pkg配置--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目录时: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)
我看到了与MonoDevelop冲突的
pkg配置。我卸载了Mono,找不到任何其他pkg配置二进制文件,并在没有任何运气的情况下清除了cmake缓存。我已经查看了cmake的详细信息,它正在查找那些目录中的glib.h和glibconfig.h。为什么它不能正常工作?

尝试使用此文件:

在主CMakeLists.txt文件中,输入以下行:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/helper/")
这是假设上面的FindGLIB2.cmake存储在src之外的目录/helper中

此文件的内容将有助于CMake更好地找到GLIB2


此链接将帮助您了解这些文件的工作原理:

我在
Centos8.2/RHEL8.2
上使用
cmake
从源代码构建
wireshark-3.4.2
时遇到了这个问题。错误是

  • 找不到GLIB2(缺少:GLIB2\u库GLIB2\u MAIN\u INCLUDE\u DIR GLIB2\u INTERNAL\u INCLUDE\u DIR)至少需要版本“2.32.0”)
而我的系统已经预装了glib-2.56.4 解决方案:已安装glib2-devel软件包。然后,cmake正确地找到了glib-2.0。 cmake输出如下所示:

  • ——检查其中一个模块“glib-2.0”
  • --找到GLIB2:/usr/lib64/libglib-2.0.so(找到合适的版本“2.56.4”,最低要求为“2.32.0”)

这似乎奏效了,谢谢。在修复了其他一些之后,我生成了makefile。当然,我重写了之前的FindGlib2.cmake,所以我无法区分它们,也无法看出问题出在哪里。哦,好吧。