我喜欢在我的C应用程序中使用GLib,它使用CMake作为构建系统.
现在,我在某种程度上混淆了如何在我的CMakeLists.txt中启用GLib.基本上,你使用find_package
命令在cmake中添加库,所以我尝试了,根据这个 bug报告
find_package(GLib2)
Run Code Online (Sandbox Code Playgroud)
但没有找到任何东西.pkg-config
另一方面,建议在GLib文档中使用.
在基于cmake的项目中启用glib的推荐方法是什么?
自CMake 3.4(2016年7月发布)以来,它pkg_check_modules
支持IMPORTED_TARGET
参数,从而将依赖项配置减少为单个target_link_libraries
语句,这将处理所有必需的编译器和链接器选项:
find_package(PkgConfig REQUIRED)
pkg_check_modules(deps REQUIRED IMPORTED_TARGET gtk+-3.0)
target_link_libraries(target PkgConfig::deps)
Run Code Online (Sandbox Code Playgroud)
(在上面我使用了该名称,deps
因为一个pkg_check_modules
语句可以列出多个依赖项)
在您的CMakeLists.txt中:
find_package(PkgConfig REQUIRED)
pkg_search_module(GLIB REQUIRED glib-2.0)
target_include_directories(mytarget PRIVATE ${GLIB_INCLUDE_DIRS})
target_link_libraries(mytarget INTERFACE ${GLIB_LDFLAGS})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8277 次 |
最近记录: |