在CMake项目中包含glib.h

8
尝试在Ubuntu上使用CMake编译库,其中一个文件包含glib.h。该软件包已安装,并且glib.h位于/usr/include/glib-2.0/glib.h中。我添加了以下内容,但编译器仍然找不到glib.h。
FIND_PACKAGE(glib-2.0)
IF (glib-2.0_FOUND)
    INCLUDE_DIRECTORIES(${glib-2.0_INCLUDE_DIR})
ENDIF()

有人知道我应该寻找哪个软件包吗?

我最终使用的实际代码是:

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})
1个回答

5

我建议您查看链接:如何找到软件包

作为参考,您可以查看此CMake模块以查找glib2。

您感兴趣的行是:

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

我建议您将此模块复制到您的<项目根目录>/cmake/目录中。然后,在您的根CMakeLists.txt文件中使用find_package


1
第二个如果链接损坏。 - Tõnu Samuel
1
是的,链接失效了。我真的很想看到这个例子的 CMake 模块。 - Sean
3
我相信这可能就是 https://github.com/gammu/gammu/blob/master/cmake/FindGlib.cmake - Baris Demiray

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接