You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake运行时pkg-config无法找到glib-2.0问题求助

解决Ubuntu MATE 20.04上CMake找不到已安装glib-2.0的问题

问题根源

核心问题是Snap版本的CMake运行在沙箱环境中,无法默认访问系统的pkg-config配置目录——尽管系统已通过apt安装glib-2.0开发包,且本地终端的pkg-config命令能正常识别,但Snap版CMake调用的pkg-config无法读取到系统的.pc配置文件。

解决方案

方案1:替换为系统apt版本的CMake(推荐)

Snap版CMake的沙箱隔离是主要诱因,改用Ubuntu官方仓库的CMake可彻底避免这类环境路径问题:

# 卸载Snap版CMake
sudo snap remove cmake
# 更新仓库并安装系统版CMake
sudo apt update
sudo apt install cmake

安装完成后重新执行cmake ..即可正常识别glib-2.0。

方案2:为Snap版CMake指定pkg-config路径

若必须保留Snap版CMake,需手动指定系统pkg-config配置文件的路径,让CMake能找到glib-2.0的.pc文件:

cmake -DPKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig ..

该路径是Ubuntu 20.04 x86_64系统中glib-2.0.pc文件的默认存放位置。

方案3:补充CMakeLists.txt的路径检查(可选)

你的CMakeLists.txt写法本身无问题,可补充显式的路径检查确保pkg-config定位正常:

include(FindPkgConfig)
# 强制指定pkg-config路径(适配环境变量未正确设置的场景)
set(PKG_CONFIG_PATH "/usr/lib/x86_64-linux-gnu/pkgconfig" CACHE STRING "pkg-config path")
pkg_check_modules (GLIB REQUIRED IMPORTED_TARGET glib-2.0)
pkg_check_modules (DBUS REQUIRED IMPORTED_TARGET dbus-1)
pkg_check_modules (SQLITE3 REQUIRED IMPORTED_TARGET sqlite3)
pkg_check_modules (JSON-C REQUIRED IMPORTED_TARGET json-c)

此方案仅作辅助,优先推荐前两种环境层面的解决方法。

内容的提问来源于stack exchange,提问作者BeaverShallBurn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 09:15:07