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

如何通过CMake命令重置缓存且不删除已有的构建产物?

CMake源外构建重置缓存不删除编译产物解决方案

操作步骤

  • 进入你的源外构建根目录,不要进入子构建目录
  • 仅清理根目录下的CMake配置类文件,不要删除任何子目录下的文件:
    • 删除顶层CMakeCache.txt文件
    • 删除顶层CMakeFiles目录
    • 删除顶层cmake_install.cmake、install_manifest.txt等CMake自动生成的配置脚本
  • 重新执行CMake配置命令,传入你修改后的新参数即可,示例:
    cmake -S /path/to/your/source -B . -D NEW_PARAM=your_value <其余原有配置参数>
    
  • 配置完成后正常执行构建命令(make/ninja等),已编译完成的不受参数影响的产物会被保留,不会重复编译。

过往方案问题说明

  • 仅删除顶层CMakeCache.txt出现冲突:你的子目录下存在异常遗留的独立CMakeCache.txt,正常单根CMake项目所有缓存仅存储在顶层CMakeCache.txt,子目录的缓存是之前单独在子目录执行CMake生成的冗余文件,可在清理时手动删除这些冗余的子目录CMakeCache.txt即可
  • 删除所有目录下CMakeCache.txt报错:子目录下的CMake配置标记被误删,打断了CMake对源码路径和构建路径的映射关系,因此会抛出目录不属于源代码子目录的错误。

一键清理命令(仅在构建根目录执行)

rm -rf CMakeCache.txt CMakeFiles *.cmake install_manifest.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 07:06:04