Qt Quick项目构建报错:无法打开依赖文件问题排查
Qt Quick构建错误解析
问题背景
正在构建Qt Quick应用,控制台应用能正常编译,但更换编译器后仍出现如下构建错误:
..\Qt\build-Baton-Desktop_Qt_6_5_3_MinGW_64_bit-Debug\_deps\ds-build\src\imports\tools\eventsimulator\QuickStudioEventSimulatorplugin_autogen\include\QuickStudioEventSimulatorplugin_QtQuick_Studio_EventSimulatorPlugin.moc:174: error: opening dependency file _deps\ds-build\src\imports\tools\eventsimulator\CMakeFiles\QuickStudioEventSimulatorplugin.dir\QuickStudioEventSimulatorplugin_QtQuick_Studio_EventSimulatorPlugin.cpp.obj.d: No such file or directory In file included from C:/Qt/6.5.3/mingw_64/include/QtCore/qglobal.h:34, from C:/Qt/6.5.3/mingw_64/include/QtCore/qnamespace.h:12, from C:/Qt/6.5.3/mingw_64/include/QtCore/qobjectdefs.h:12, from C:/Qt/6.5.3/mingw_64/include/QtCore/qobject.h:10, from C:/Qt/6.5.3/mingw_64/include/QtCore/qplugin.h:12, from C:/Qt/6.5.3/mingw_64/include/QtQml/qqmlextensionplugin.h:7, from C:/Users/oliwi/OneDrive/Pulpit/Michal/Qt/build-Baton-Desktop_Qt_6_5_3_MinGW_64_bit-Debug/_deps/ds-build/src/imports/tools/eventsimulator/QuickStudioEventSimulatorplugin_QtQuick_Studio_EventSimulatorPlugin.cpp:3: .../Qt/build-Baton-Desktop_Qt_6_5_3_MinGW_64_bit-Debug/_deps/ds-build/src/imports/tools/eventsimulator/QuickStudioEventSimulatorplugin_autogen/include/QuickStudioEventSimulatorplugin_QtQuick_Studio_EventSimulatorPlugin.moc:174:1: fatal error: opening dependency file _deps\ds-build\src\imports\tools\eventsimulator\CMakeFiles\QuickStudioEventSimulatorplugin.dir\QuickStudioEventSimulatorplugin_QtQuick_Studio_EventSimulatorPlugin.cpp.obj.d: No such file or directory 174 | QT_WARNING_POP | ^~~~~~~~~~~~~~ | ^~~~~~~~~~~~~~
错误含义
这个错误的核心是CMake找不到构建所需的依赖文件:QuickStudioEventSimulatorplugin_QtQuick_Studio_EventSimulatorPlugin.cpp.obj.d。
这种.obj.d文件是CMake自动生成的依赖追踪文件,用来记录编译QuickStudioEventSimulatorplugin插件时需要用到的头文件、源文件等信息,确保后续构建时只重新编译改动过的部分。
错误出在处理Qt MOC工具生成的文件时,本质原因分为几种:
- 依赖文件未生成:可能是之前的构建中途中断,或是权限不足导致CMake无法写入文件;
- 路径存在问题:比如构建目录包含空格、特殊字符,或是使用OneDrive同步目录时,同步过程导致文件被移动/删除;
- MOC生成路径不匹配:Qt的MOC工具生成的文件路径与CMake期望的路径不一致,导致CMake找错位置。
排查建议
- 彻底清理构建目录:删除整个
build-Baton-Desktop_Qt_6_5_3_MinGW_64_bit-Debug文件夹,重新运行CMake配置并构建; - 更换构建目录:将项目移至本地非同步目录(如C盘根目录下的独立文件夹),避开OneDrive的同步干扰;
- 检查权限:确保当前用户对构建目录拥有完整的读写权限;
- 验证工具链匹配性:确认MinGW编译器与Qt 6.5.3版本完全兼容,重新执行CMake配置步骤,确保MOC等工具被正确调用。
内容的提问来源于stack exchange,提问作者Boski
相关产品推荐
相关产品推荐

