QT错误:No rule to make target ‘../‘, needed by ‘debug/qrc 您所在的位置:网站首页 Resource/Images/tjwk.png QT错误:No rule to make target ‘../‘, needed by ‘debug/qrc

QT错误:No rule to make target ‘../‘, needed by ‘debug/qrc

2023-08-20 19:58| 来源: 网络整理| 查看: 265

问题分析:资源文件  resource.qrc 已经编译生成,在resource资源目录下进行删除不能改变已经编译生成的 resource.qrc 所以会出现此类错误。

解决方法:项目右键执行qmake即可,然后重新构建,解决。网上大部分都说是修改.pro文件什么的,感觉麻烦。如果还解决不了,就看看接下来的这个编译的过程的原理,你就知道改怎么做了。

qtcreator编译过程的原理:

xx.pro(里面会包含xx.qrc项)  通过qmake.exe,得到 debug同级目录的 Makefile, Makefile.Debug, Makefile.Release(这些文件里面包含了所有编译需要文件的信息)

然后make.exe再读取Makefile文件进行源码的编译,得到 debug目录里面的各种 xx.o文件(这里就包含了qrc_xx.o),然后链接成最后的 xx.exe可执行文件。

因此,我们要想更新这个资源文件 qrc_xx.o ,那么就要让qmake重新生成这几个Makefile。但是qtcreator有时候也不知道咋的,就是不能重新生成这些Makefile,所以我们需要去这个目录,手动删除它们(为了解决资源文件问题,还可以xx_resource.rc文件也给删除了),然后构建项目,就可以了。

注:如果连 qrc_xx.o 文件都生成不了,那么就去资源文件里看看是不是有些文件路径不存在,或者文件无效的,因为这样也会导致qt生成不了qrc_xx.o 从而报错。

更详细的原理,可以参考我这个博客:(里面还讲了ui界面没有更新的问题)qt creator ui界面修改后运行不产生作用(本质分析)_我是标同学的博客-CSDN博客_qt ui文件修改后不生效



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有