溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT 編譯錯誤匯聚

發(fā)布時間:2020-10-13 04:55:09 來源:網絡 閱讀:1007 作者:WZM3558862 欄目:開發(fā)技術

編譯提示

 

make: *** No rule to make target 錯誤原因、分析和解決辦法

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


QT 編譯錯誤匯聚


原來這個原因是丟失文件啊 ,終于明白了 ,看來網上的代碼不可信

有個已有的Makefile,執(zhí)行過程中出錯:

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.換到別的,和當前文件夾等價的路徑中去執(zhí)行,結果卻是正常的:

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.后來折騰半天,最后終于發(fā)現(xiàn),原來是由于,當前Makefile中的內容是:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# also means main source file name
PROJECT_NAME = python_topic_str_encoding
SUB_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在編譯執(zhí)行過程中,對于所依賴的條件,此處即一堆xml文件,最后一個是reference.xml,結果由于最后reference.xml后面,有多余的4個空格,導致Makefile將該處的4個空格,視為一個文件了,所以,必然找不到該“文件”,所以才報錯的。

所以,如果Makefile出現(xiàn):

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

的錯誤,那么基本上都是屬于找不到所依賴的文件所導致的,所以應該去:

檢測確保,所依賴的文件,是否真實存在。

很可能,很常見的一個現(xiàn)象就是,此處的,誤寫了多余的空格,導致被視為依賴文件,導致找不到,導致報此錯誤。

解決辦法就很簡單,去掉多余的空格即可。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI