【发布时间】:2016-10-08 10:47:54
【问题描述】:
我正在使用一个包含示例应用程序的库。示例 makefile 在参数中包含 $<:
all:test.cpp
g++ -Wl,--no-as-needed -o Example $<
clean:
rm -f SampleApp11
我已经查过了,tutorialspoint 这么说
$
另一个website 表示:
这是从 .c 构建 .o 的后缀替换规则 它使用自动变量 $<: gnu make .co>
我还是一头雾水,这是什么意思?
【问题讨论】:
-
在您的示例中,它是
all:目标之后的 first 依赖项(文件) -test.cpp。 -
啊,
<$告诉 g++ 编译哪个文件,对吗? -
请注意,这与 g++ 无关。它是在调用 g++ 之前替换它的 make 。 g++ 永远不会看到
$<。如果是这样,它会将其视为文件名,并可能会发出一条错误消息,提示找不到该名称的文件。 -
将行更改为
echo test: $<会告诉您它的作用,然后您可以在文档中查找正确的工具(not GCC!)了解它的含义。试着习惯以这种方式进行研究和实验。 -
@LightnessRacesinOrbit 抱歉,我进行了大量研究,但仍然不清楚/困惑。这是我编写和编译 C/C++ 代码的第一周——我之前的经验是使用解释型语言。