QT 编译错误汇聚
admin
2023-08-02 15:46:21
0

编译提示

 

make: *** No rule to make target 错误原因、分析和解决办法

:-1: error: No rule to make target 'wqLineItem.cpp', needed by 'debug/wqLineItem.o'.  Stop.


QT 编译错误汇聚


原来这个原因是丢失文件啊 ,终于明白了 ,看来网上的代码不可信

有个已有的Makefile,执行过程中出错:

CLi@PC-CLI-1 ~/develop/docbook/books/python_topic_str_encoding/src 
$ make html 
=============================== cleaning html ============================== 
rm -rf ../output/html/single/* 
make: *** No rule to make target ` ‘, needed by `../output/html/single/python_topic_str_encoding.html’.  Stop.

 

【解决过程】

1.换到别的,和当前文件夹等价的路径中去执行,结果却是正常的:

CLi@PC-CLI-1 ~/develop/docbook/books/python_topic_str_encoding/src 
$ cd ../../python_topic_web_scrape/src

CLi@PC-CLI-1 ~/develop/docbook/books/python_topic_web_scrape/src 
$ make html 
=============================== cleaning html ============================== 
rm -rf ../output/html/single/* 
=============================== generating html ============================== 
export XML_CATALOG_FILES="/home/develop/docbook/config_root/catalog/catalog.xml" && \ 
export XML_DEBUG_CATALOG=1 && \

……

 

2.后来折腾半天,最后终于发现,原来是由于,当前Makefile中的内容是:

?

123456789101112131415# also means main source file namePROJECT_NAME = python_topic_str_encodingSUB_SRC_FILES = \    python_topic_str_encoding.xml \    preface.xml \    ch01_2x_vs_3x.xml \    ch02_common_encoding_error.xml \    ch03_other_common_case.xml \    reference.xml \     DOCBOOK_MAKEFILE_ROOT = ../../../config################################################################################# Include docbook makefile################################################################################include $(DOCBOOK_MAKEFILE_ROOT)/docbook.mk

其中,注意到,所依赖的

reference.xml \

后面还有几个空格的,截图才能看出来:

QT 编译错误汇聚

导致了此错误。

把最后的,多余的空格去掉:

QT 编译错误汇聚

就可以消除此问题了。

 

【总结】

Makefile在编译执行过程中,对于所依赖的条件,此处即一堆xml文件,最后一个是reference.xml,结果由于最后reference.xml后面,有多余的4个空格,导致Makefile将该处的4个空格,视为一个文件了,所以,必然找不到该“文件”,所以才报错的。

所以,如果Makefile出现:

make: *** No rule to make target ` ‘, needed by xxx. Stop.

的错误,那么基本上都是属于找不到所依赖的文件所导致的,所以应该去:

检测确保,所依赖的文件,是否真实存在。

很可能,很常见的一个现象就是,此处的,误写了多余的空格,导致被视为依赖文件,导致找不到,导致报此错误。

解决办法就很简单,去掉多余的空格即可。


相关内容

热门资讯

泽连斯基宣布成立乌军远程打击司... △乌克兰总统泽连斯基(资料图)乌克兰总统泽连斯基10日表示,他已签署命令,在乌克兰武装部队内部设立一...
迎接产业爆发风口,中科源本高端... 2026年7月10日,青岛中科源本新能源有限公司(以下简称“中科源本”)于青岛崂山区海天金融中心酒店...
与AI做搭子!百度搭子宣布多项... 人民网成都7月10日电 (罗昱)7月10日,“百度 AI Day ──百度搭子专场”在成都东郊记忆举...
Anthropic、OpenA... 我们此前曾多次谈及今夏IPO市场的火热态势,但随着SpaceX已正式登陆公开市场,Anthropic...
“成都造”上新!护航长征十号乙... 7月10日,长征十号乙运载火箭在海南商业航天发射场发射升空,将卫星顺利送入预定轨道,火箭一二级分离约...
为什么是成都?解码2026AP... 这个夏天,2026APEC中国年进入“成都时间”,亚太经合组织(APEC)数字和人工智能部长会议及“...
欧盟未就第21轮对俄制裁达成一... 总台记者当地时间10日获悉,欧盟成员国当天未能就对俄罗斯第21轮制裁方案达成一致,讨论将继续进行。据...
伊朗议会议长:若美背弃协议,伊... △卡利巴夫(资料图)总台记者当地时间10日获悉,伊朗议会议长卡利巴夫表示,不论任何时候美国背弃双方达...
卫星ETF永赢(159206)... 7月10日,长征十号乙运载火箭在海南商业航天发射场发射升空,一子级垂直返回,在海上回收平台成功回收。...
万达集团取得防泄漏型烷基化反应... 国家知识产权局信息显示,万达集团股份有限公司取得一项名为“一种防泄漏型烷基化反应器”的专利,授权公告...