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

CMake缓存源不匹配错误求助:清理构建目录仍无法解决

CMake缓存不匹配错误的解决办法

你执行cmake -S . -B /build时触发如下错误:

CMake Error: The source "C:/Users/Luberski/Repos/rpggame/CMakeLists.txt" does not match the source "C:/Users/Luberski/Repos/PokeTrade/CMakeLists.txt" used to generate cache.  Re-run cmake with a different source directory.

即使删除项目内build目录、清理本地缓存甚至删除其他项目都无效,问题出在CMake的全局/用户级缓存残留了旧项目的记录,以下是具体解决步骤:

  • 清理用户级CMake缓存
    Windows系统中,CMake的用户缓存通常存放在C:\Users\Luberski\.cmake或%APPDATA%\CMake目录下,直接删除整个目录或其中的CMakeCache.txt及相关缓存文件夹,彻底清除旧项目的缓存痕迹。

  • 修改构建目录路径
    不要使用系统根目录的/build(该路径可能被之前的PokeTrade项目占用过缓存记录),改为项目内的相对路径构建:

    cmake -S . -B ./build
    

    这样build目录会生成在rpggame项目根目录下,避免全局路径冲突。

  • 强制重新生成缓存
    执行构建命令时添加--fresh参数,让CMake完全忽略所有旧缓存,从头开始配置:

    cmake --fresh -S . -B ./build
    
  • 检查环境变量干扰
    确认是否设置过CMAKE_SOURCE_DIR、CMAKE_BINARY_DIR等相关环境变量,这些变量会干扰CMake对源目录和构建目录的识别,临时取消后再执行构建命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:17:10