我運行下面的命令:如何在Makefile中找到錯誤的行號?
使-f makefile.gcc
,輸出是:
化妝:-c:命令未找到
如何找出哪條線路導致錯誤? makefile文件長達數百行,否則無法計算出來。
我試過-d
開關,但沒有打印任何有用的信息。
我運行下面的命令:如何在Makefile中找到錯誤的行號?
使-f makefile.gcc
,輸出是:
化妝:-c:命令未找到
如何找出哪條線路導致錯誤? makefile文件長達數百行,否則無法計算出來。
我試過-d
開關,但沒有打印任何有用的信息。
好像問題是,makefile文件包含在其中,並因爲我在Linux上運行與「\」路徑,這將是一個問題。
@Knubo - 你計算出來了:) – 2010-11-02 04:05:53
是否只有makefile或者是否有配置腳本以及項目?也許你可以在unix平臺上重新創建makefile。至於路徑,windows平臺上的路徑在linux平臺上沒有多大意義,所以只是做一個查詢替換可能不會讓你到達你想要的地方。 – Knubo 2010-11-02 10:53:37
@Knubo:這就是問題......我正在編譯的庫是跨平臺的,並且* does *帶有用於Linux/Unix的'configure'腳本 - 但是,我試圖使用Mingw64來編譯庫Win64平臺。問題是該庫的Win64的makefile使用帶有'\'的路徑。我實際上可以在Windows **上使用Mingw64 **進行編譯,但試圖在Linux上使用Mingw64進行編譯並不能正常工作。 – 2010-11-02 17:46:40
如果您對make命令運行strace,這可能會幫助您找到出錯的地方。然後你可以在之後搜索makefile。
下面是一個關於strace的帖子的鏈接: http://linuxhelp.blogspot.com/2006/05/strace-very-powerful-troubleshooting.html
你在哪個系統上運行?那裏有一些技巧可能有助於瞭解這一點。幹運行說什麼?也許你會從中獲得更多信息。 (make -n -f makefile.gcc) – Knubo 2010-10-30 21:03:59
@Knubo:我在Ubuntu上使用Mingw-w64編譯。 (空運行的輸出沒有用,因爲有些目標取決於正在運行的命令。) – 2010-10-30 21:08:59