尝试使用CMake在Ubuntu中编译库,其中一个文件包含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})
答案 0 :(得分:4)
我建议你浏览一下链接:How package finding works。
作为参考,您可以查看此CMake Module以查找glib2。
您感兴趣的线路是:
find_path(GLIB_INCLUDE_DIR NAMES glib.h PATH_SUFFIXES glib-2.0)
我建议您将此模块复制到<project root>/cmake/
目录中。然后,在根CMakeLists.txt文件中使用find_package
。