问题现象:
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(使用前将#替换为@)