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

CMake 3.18.4执行--list-presets报错‘源目录不存在’求助

解决CMake 3.18.4执行--list-presets报错的问题

你的问题核心在于CMake 3.18.4不支持--list-presets命令选项——这个参数是CMake 3.20版本才正式引入的功能。低版本CMake会把--list-presets误判为要指定的源目录路径,所以才会出现“源目录不存在(指向/--list-presets)”的错误,哪怕加-S .也没用,因为老版本根本识别不了这个选项。

可行的解决方案:

  • 升级CMake到3.20+版本:
    在GitLab Runner环境中,你可以通过CI配置脚本安装高版本CMake,比如:

    • 对于Debian/Ubuntu系Runner:
      sudo apt remove --purge cmake
      sudo apt update && sudo apt install -y cmake
      
      或者从CMake官方二进制包安装:
      wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3-linux-x86_64.tar.gz
      tar -xzf cmake-3.28.3-linux-x86_64.tar.gz
      export PATH=$PWD/cmake-3.28.3-linux-x86_64/bin:$PATH
      
    • 升级后再执行cmake --list-presets就能正常识别并列出预设了。
  • 无法升级时的替代方案:
    如果受限于环境不能升级CMake,你可以直接查看源码目录下的CMakePresets.json文件内容,或者用简单的脚本解析JSON来提取预设名称,比如用jq:

    jq '.configurePresets[].name' CMakePresets.json
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:55:29