Qt项目构建报错:ninja提示build.ninja仍处于脏状态
解决
ninja: error: manifest 'build.ninja' still dirty after 100 tries错误 问题详情
构建Qt项目时出现如下报错:
Desktop_Qt_6_5_0_MinGW_64_bit-Debug [0/1 ?/sec] Re-running CMake... -- Configuring done -- Generating done -- Build files have been written to: C:/Users/Usuário/Documents/QT/MapGeneratorUI/build-MapGeneratorUI- Desktop_Qt_6_5_0_MinGW_64_bit-Debug ninja: error: manifest 'build.ninja' still dirty after 100 tries 17:47:09: The process "C:\Qt\Tools\CMake_64\bin\cmake.exe" exited with code 1. Error while building/deploying project MapGeneratorUI (kit: Desktop Qt 6.5.0 MinGW 64-bit) When executing step "Build" 17:47:09: Elapsed time: 04:54.
环境信息:
- Qt版本:6.5
- CMake版本:3.24.2
- 系统:Windows 10
已尝试方案:
- 重新安装Qt
- 删除构建文件夹
- 同步系统时间
- 尝试相关Stack Overflow解决方案
- 在全新项目中执行上述操作
解决方案
1. 更换构建器
Ninja的脏文件问题在Windows环境下偶发,直接切换构建器规避:
- 打开Qt Creator的项目选项卡,找到对应构建套件的构建步骤
- 将CMake生成器从
Ninja改为NMake Makefiles或Visual Studio 2019/2022(需提前安装对应VS版本) - 删除旧构建文件夹,重新配置并构建
2. 移除路径中的特殊字符
你的构建路径包含带重音的Usuário,会干扰Ninja的文件处理逻辑:
- 将项目迁移到纯英文路径下,比如
C:/QtProjects/MapGeneratorUI - 确保构建文件夹路径同样无特殊字符,重新启动构建
3. 更新CMake版本
CMake 3.24.2与Qt 6.5、Ninja存在兼容性适配问题:
- 安装CMake 3.26及以上版本(Qt 6.5官方推荐的兼容版本)
- 在Qt Creator的工具→选项→构建和运行→CMake中,设置新安装的CMake为默认工具
- 清空构建文件夹后重新执行配置与构建
4. 排除构建文件夹的安全扫描
Windows Defender实时扫描可能锁定build.ninja文件,导致Ninja无法正常写入:
- 临时关闭Windows Defender实时保护,重新构建测试
- 若构建成功,将Qt项目的构建文件夹添加到Defender的排除列表中
内容的提问来源于stack exchange,提问作者Mateus M
相关产品推荐
相关产品推荐

