QT no rules to make target的解决方法

自定义了oglwidget类,将qwidget提升为oglwidget,但是突然就编译不通过了,总是提示:

error: No rule to make target 'oglwidget.h', needed by 'ui_gcodedlg.h'. Stop

折腾了好久,网上也没有好的解决办法,比较靠谱的回答是:

提示以mingw32-make开头

提示包含在'Entering directory''Leaving directory'两条提示之间

提示最后为Error while... When executing step "Make"

由以上三点可以看出:问题出现在Make阶段,并告诉了问题所在的directory

且该目录为构建目录,其中的文件可以删除。


【解决方法】

删除构建目录下的MakefileMakefile.DebugMakefile.Releases三个文件,并重新构建项目。


【经验总结】

(1) 该问题主要出现在资源文件的修改上

(2) 构建目录中的三个Makefile文件包含项目中的一些文件信息。

(3) 修改项目中资源文件的名称或删除资源文件,并不会实时修改构建目录中的三个Makefile文件。

(4) 构建项目时如果构建目录中没有Makefile文件,则会重新生成Makefile文件;

     如果已经存在Makefile文件,系统并不会去更新Makefile文件, 并直接使用其进行Make操作,就导致了No rule to make target的问题。

提示这个错误后,如果重新生成,还会将ui_gcodedlg.h清除。这是因为找不到oglwidget,导致ui_gcodedlg.h生成失败。Ui_gcodeglg.h是由creator自动生成的。

打开makefile.realse文件,搜索oglwidget.h,发现了这一段:

ui_gcodedlg.h: gcodedlg.ui \
        C:/Qt/Qt5.12.3/5.12.3/mingw73_64/bin/uic.exe \
        gles/oglwidget.h

是ui_gcodedlg.h的生成规则,这里的oglwidget.h的路径不对,路径修改后重新编译,能生成ui_gcodedlg.h,编译通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值