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 需要存在。

相关内容