gpt4 book ai didi

makefile - $$@ 在 makefile 中是什么意思?

转载 作者:行者123 更新时间:2023-12-05 03:15:06 24 4
gpt4 key购买 nike

我正在将一个 makefile 从 AIX 移植到 Linux - 它在这一行失败了:

program.o : header1.h header2.h
program : $$@.o lib1.a lib2.a lib3.a

错误是:

make: *** No rule to make target `$@.o', needed by `program'.  Stop.

有人认识这个 $$@ 变量吗?我在任何地方都找不到对它的任何引用。

谢谢!

最佳答案

此规则必须在标记的部分中

.SECONDEXPANSION:

第一个 $ 在第一遍中展开生成 $@.o,然后第二遍像往常一样生成 program.o

这是一个 GNU make 特性。您应该确保在目标上使用 GNU make(而不是其他的)并且它是最新的。你可以用

make --version

版本 4 可用,但 3.8x 应该没问题。

相关文档为here .

关于makefile - $$@ 在 makefile 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20907712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com