尝试使用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()
Run Code Online (Sandbox Code Playgroud)
有谁知道我想要寻找什么包?
我最终使用的实际代码是
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})
Run Code Online (Sandbox Code Playgroud)
我建议您通过链接:How package tracking works。
作为参考,您可以查看此CMake 模块以查找 glib2。
您感兴趣的线路是:
find_path(GLIB_INCLUDE_DIR NAMES glib.h PATH_SUFFIXES glib-2.0)
Run Code Online (Sandbox Code Playgroud)
我建议您将此模块复制到您的<project root>/cmake/目录中。然后,find_package在您的根 CMakeLists.txt 文件中使用 a 。
| 归档时间: |
|
| 查看次数: |
7994 次 |
| 最近记录: |