QT编译UI文件时报找不到依赖的自定义头文件:No rule to make target ‘*.h‘, needed by ‘ui_*.h‘.

2023-05-16

问题现象:
QT项目编译报错如下
mingw32-make[1]: *** No rule to make target ‘cmsplaintextedit.h’, needed by ‘ui_localservice.h’. Stop.
mingw32-make[1]: *** Waiting for unfinished jobs…

问题背景:
随着QT工程的功能增加,一直通过右键添加文件,导致最后项目文件夹下问题太多不便于管理。所以就想着按功能把原文件放在不同的文件夹下。说干就干,自己创建了5个文件夹,然后把对应源文件移动过去。然后,
1、删除pro文件中原先的SOURCES、HEADERS和FORMS内容,再通过右键添加文件夹方式自动把创建的文件夹添加到pro文件中。
2、修改源代码中include的头文件的路径,因为这时多了一层文件夹需要添加
全部修改完成后,就启动编译,但一直报开头的错误。

问题分析:
No rule to make target ‘cmsplaintextedit.h’, needed by ‘ui_localservice.h’. Stop.
从报错看是在编译UI文件生成’ui_localservice.h’时找不到cmsplaintextedit.h文件。这里cmsplaintextedit.h是我自定义的类,继承于QPlainTextEdit类,然后我在UI Design里把QPlainTextEdit插件提升成我的CmsQPlainTextEdit类了。这里猜测是由于我把cmsplaintextedit.h文件放到新建的目录下导致UI在编译时找不到导致的,因为开始所有文件都在一个目录下没有这个编译问题。

问题解决:
基于上面的分析又重新到UI Design里查看类提升的配置,发现有个头文件配置项,尝试在前面加上文件夹路径,然后先删除之前编译生成的Debug项目,再重新构建项目,问题 解决。PS:直接重新构建不生效,必须先删除之前构建的项目。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT编译UI文件时报找不到依赖的自定义头文件:No rule to make target ‘*.h‘, needed by ‘ui_*.h‘. 的相关文章

  • make与cmake入门

    文章目录 1 手动链接与编译2 make编译工具2 1 介绍makefile2 2 makefile三要素2 3 make工作原理2 4 实战案例1案例2案例3案例4 2 5 常见的自动化变量解析 3 使用cmake进行编译3 1 介绍cm
  • include_directories和target_include_directories

    1 作用 xff1a 给源文件添加头文件搜索路径 xff1a 将指定目录添加到编译器的头文件搜索路径之下 xff0c 指定的目录被解释成当前源码路径的相对路径 2 差别 xff1a 2 1 include directories xff1a
  • octomap(1):octomap_server报错MessageFilter [target=odom_combined ]: Dropped 100.00% of messages so far

    报错 xff1a WARN 1652516663 964101392 MessageFilter target 61 odom combined Dropped 100 00 of messages so far Please turn t
  • catkin_make的时候发生了什么

    原链接http community bwbot org topic 182 运行测试平台 小强ROS机器人 这是一个比较复杂的问题 xff0c 但是有时候会有莫名其妙的编译错误 xff0c 在找错误的过程中会非常需要了解这个过程 首先说一下
  • CMake编程实践(五) 编译静态库和动态库

    使用Cmake 编译库 本篇使用CMake编译一个动态库和静态库 并安装到系统中 对应的工程是cmake utilsbox lib 编译静态库 指定编译静态库 关键词为static 不添加关键字默认静态库 add library utils
  • Spring 中的切点表达式介绍

    Spring 中的切点表达式介绍 翻译原文链接 Introduction to Pointcut Expressions in Spring 1 概述 在本教程中 我们将讨论 Spring AOP 切点表达式语言 In this tutor
  • Xcode 4 中的“部署目标”和“iOS 部署目标”有什么区别[重复]

    这个问题在这里已经有答案了 自从 Xcode 4 发布以来我一直生活在怀疑之中deployment target选项 有两个选项可供设置 第一个位于 TARGETS 窗格上 称为Deployment Target 此选项的目的是设置应用程序
  • 如何在 podfile 中为 Xcode 项目指定多个目标?

    我在 Xcode 4 项目中使用 CocoaPods 我的项目有三个目标 默认目标 一个用于构建精简版本 一个用于构建演示版本 所有目标都使用相同的库 但 CocoaPods 仅将静态库和搜索路径添加到主要目标 我的 podfile 看起来
  • 如何调用同一个 msbuild 目标两次?

    我有以下 msbuild 脚本
  • 通过 Applescript 添加文件到 Xcode 项目目标

    我想将文件自动添加到从头开始创建的 Xcode 项目 通过另一个 IDE 作为构建后步骤 我们的项目设置为调用一个 applescript 该 applescript 在项目中进行适当的文件引用 但每次尝试将文件引用添加到项目都会失败 核心
  • Prolog - 如何仅断言/创建数据库一次

    resultList UsersQuery question X H write H myintersection H UsersQuery Match TotalQuestionKeywords Percent is Match Tota
  • 获取快捷方式文件夹的目标

    如何获取快捷方式文件夹的目录目标 我到处搜索 只找到快捷方式文件的目标 我认为您需要使用 COM 并添加对 Microsoft Shell Control And Automation 的引用 如中所述这篇博文 这是使用此处提供的代码的示例
  • HTML“for”属性的 WPF 标签对应项

    WPF 中是否有一些属性可以添加到元素 以便当我单击它时目标控件获得焦点 我发现的最接近的是 目标 但它仅适用于访问键 单击它没有效果 覆盖标签控件 public class LabelEx Label public LabelEx bas
  • 条件格式化每行中的最大值

    我有一个包含 250 多行数据的电子表格 需要找到每行中的最大值 我尝试使用条件格式 但是每行都需要相同的规则 因此无法突出显示所有数据 并且尝试复制和粘贴它会太麻烦 是否有更快的方法将相同的规则分别应用于每一行 请选择相关列 例如 A H
  • Xcode 7 构建失败:ld:找不到 -lGoogleAnalyticsServices 的库

    每次当我使用 Xcode 打开应用程序时 我都会收到此错误 ld library not found for lGoogleAnalyticsServices clang error linker command failed with e
  • 警告:复制捆绑资源构建阶段包含此目标的 Info.plist 文件

    我将一个项目分成两个构建 并给每个构建一个plist文件 一切正常 但我不断收到此构建警告 警告 复制捆绑资源构建阶段包含此目标的 Info plist 文件 MyApp Info plist 当我尝试构建时我得到了这个MyApp 构建第二
  • 每个版本的 IE 在新窗口中打开链接

    我一直在设计一个网站 并使用 Safari 和 Chrome 进行大部分测试 我刚刚尝试测试 Firefox 也很顺利 让 IE 来解决吧 由于某种原因 对于从 IE 6 到 IE 10 的每个版本 每个链接都会打开一个新窗口 在 IE 1
  • 这个符号在 IntelliJ 中意味着什么? (文件名左下角红色圆圈,里面有“J”)

    在我创建的 Java 项目的 IntelliJ 的目标文件夹下 包中有一些 java 源文件 每个文件旁边的 J 图标都有一个红色圆圈 中间有一条线 这意味着什么 我如何解决它 您需要指定源目录 File gt Project Struct
  • 将预处理器宏添加到 xcode 6 中的目标

    也许这非常简单 但我找不到在 Xcode 6 中为目标定义预处理器宏的方法 我已经做了一个屏幕截图来显示它在 Xcode 中的位置 因为它更容易 选择项目文件 选择您想要的目标 转到构建设置 搜索 预处理器 添加用于调试 发布或两者的预处理
  • 目标操作 uicontrol 事件

    我一定在这里遗漏了一些明显的东西 但是 UIControl有一个方法 void addTarget id target action SEL action forControlEvents UIControlEvents controlEv

随机推荐