2

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

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

然而,当我尝试将这些输入(单独或全部使用;or :)以及各种组合时,或者当我尝试下载 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)

我看到了这个pkg-config关于与 MonoDevelop冲突的页面。我卸载了 Mono,没有找到任何其他 pkg-config 二进制文件,并且没有任何运气就清除了 cmake 缓存。我查看了 cmake 的细节,并在这些目录中寻找 glib.h 和 glibconfig.h。为什么它不能表现得很好?

4

2 回答 2

2

尝试使用这个文件: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 之外的目录 /helper 中。

该文件的内容将帮助 CMake 更好地找到 GLIB2。

此链接将帮助您了解这些文件的工作原理:http ://www.cmake.org/Wiki/CMake:How_To_Find_Libraries#Writing_find_modules

于 2013-03-02T05:25:39.020 回答
0

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

  • Could NOT find GLIB2 (missing: GLIB2_LIBRARY GLIB2_MAIN_INCLUDE_DIR GLIB2_INTERNAL_INCLUDE_DIR) Required is at least version "2.32.0")

而我的系统已经预装了glib-2.56.4 解决方案:已安装的glib2-devel软件包。然后 cmake 正确找到了 glib-2.0。cmake 输出如下所示:

  • -- Checking for one of the modules 'glib-2.0'
  • -- Found GLIB2: /usr/lib64/libglib-2.0.so (found suitable version "2.56.4", minimum required is "2.32.0")
于 2021-02-01T06:28:33.987 回答