Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile 什么是$<&引用;用于g+时的平均值+;论点_Makefile_Gnu Make - Fatal编程技术网

Makefile 什么是$<&引用;用于g+时的平均值+;论点

Makefile 什么是$<&引用;用于g+时的平均值+;论点,makefile,gnu-make,Makefile,Gnu Make,我正在使用一个具有示例应用程序的库。示例makefile包含$这实际上与编译器无关,它是makefile语法的一部分,在编译器运行之前被替换 在您的示例中,它是all:target-test.cpp之后的第一个依赖项(文件) Makefile的基本功能是在依赖项发生变化时创建一个目标: target: dependency.cpp rule to create target (using dependency.cpp) 通常情况下,$它是其中之一 第一个先决条件的名称。如果目标是从 作

我正在使用一个具有示例应用程序的库。示例makefile包含
$这实际上与编译器无关,它是
makefile
语法的一部分,在编译器运行之前被替换

在您的示例中,它是
all:
target-
test.cpp
之后的第一个依赖项(文件)

Makefile
的基本功能是在依赖项发生变化时创建一个目标:

target: dependency.cpp
    rule to create target (using dependency.cpp)
通常情况下,
$它是其中之一

第一个先决条件的名称。如果目标是从 作为隐式规则,这将是 隐式规则(请参阅)

先决条件是下列文件中列出的文件:

例如,在以下规则中,第一个先决条件是
test.c
文件:

my_executable: test.c precompiled.o
    g++ -o my_executable $<

precompiled.o
是第二个先决条件(暗示了预编译的对象文件)。

在您的示例中,它是
all:
target-
test.cpp
.Ahh之后的第一个依赖项(文件),因此
请注意,这与g++无关。在调用g++之前,make会替换这个。g++从未看到
$将行更改为
回声测试:$@LightnessRacesinOrbit抱歉,我做了大量研究,但仍然不清楚/困惑。这是我编写C/C++代码并进行编译的第一周——我以前的经验是使用解释语言。
$@: $<
    g++ -o $@ $<
@ <-------- (think "Robin Hood")
targets : prerequisites
        recipe
my_executable: test.c precompiled.o
    g++ -o my_executable $<
my_executable: test.c precompiled.o
    g++ -o my_executable test.c