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

MSYS2下编译带UI的Qt项目:ui_mainwindow.h找不到的解决问询

解决MSYS2下编译Qt项目时ui_mainwindow.h缺失的问题

你遇到的问题是因为Qt的UIC工具没有被触发生成ui_mainwindow.h——这个文件是从你的mainwindow.ui文件自动转换来的,而当前的.pro文件没告诉qmake要处理这个UI文件。

解决方法很简单,在你的.pro文件里添加以下内容:

FORMS += mainwindow.ui

如果mainwindow.ui不在.pro文件所在的同级目录,要写相对路径,比如:

FORMS += ./ui/mainwindow.ui

完整的.pro文件示例

假设你的项目还有main.cpp和MainWindow.cpp,最终的.pro文件应该类似这样:

QT += widgets
TARGET = MyQtApp
TEMPLATE = app

# 头文件
HEADERS += MainWindow.h
# 源文件
SOURCES += main.cpp MainWindow.cpp
# UI文件,关键就是这行
FORMS += mainwindow.ui

注意事项

  1. 修改完.pro文件后,必须重新运行qmake,因为qmake会根据.pro生成新的Makefile,里面会加入UIC工具的编译步骤,确保先生成ui_mainwindow.h再编译依赖它的源文件。
  2. 确认你的MainWindow.cpp里是#include "ui_mainwindow.h"(而非带路径的写法),qmake生成的Makefile会把UIC的输出路径加到编译包含目录里,这样编译器就能找到这个自动生成的头文件。

之后再执行mingw32-make就不会报找不到头文件的错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:33:12