Windows 上的 GNU Make 模式規則

Windows 上的 GNU Make 模式規則

我對在 Windows 上使用 GNU Make 感興趣。我使用模式規則建立了一個小 Makefile:

all: abcd.o

%.o : %.c
    echo hi

然而,當我嘗試做所有的事情時,

D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" -f Makefile.txt
make: *** No rule to make target `abcd.o', needed by `all'.  Stop.

我安裝 GNU Make這個儲存庫。這文件我發現描述了這個 Makefile 應該可以工作。

D:\test>"C:\Program Files (x86)\GnuWin32\bin\make" --version
GNU Make 3.81

如何在 Windows 上的 GNU Makefile 中使用模式規則?

答案1

make: *** 沒有規則可以使目標abcd.o', needed by全部'。停止。

你的 makefile 包含:

all: abcd.o

%.o : %.c
    echo hi

只有當檔案abcd.c存在或可以建立(透過另一條規則)時,這才有效。


因此,形式規則

%.o : %.c ; recipe…

指定如何製作文件號,以另一個檔案 nc 作為先決條件,前提是 nc 存在或可以創建

來源10.5.1 模式規則簡介


進一步閱讀

答案2

文件 abcd.c 需要存在。

相關內容