以下是Linux中make文件的教程:http://mrbook.org/tutorials/make/
这是一个make文件示例:
all: hello
hello: main.o factorial.o hello.o
g++ main.o factorial.o hello.o -o hello
main.o: main.cpp
g++ -c main.cpp
factorial.o: factorial.cpp
g++ -c factorial.cpp
hello.o: hello.cpp
g++ -c hello.cpp
clean:
rm -rf *o hello
对我而言,这一行令人困惑main.o: main.cpp
这是什么意思?据我了解,这意味着目标main.o
具有main.cpp
依赖关系。但main.cpp
没有目标
这意味着目标(main.o
)具有依赖项(main.cpp
),该依赖项(main.cpp
)本身不是目标。那是什么(main.cpp
)?
答案 0 :(得分:2)
main.cpp
是文件。
从扩展我们期望它是一个c ++源文件,相关规则表明情况就是这样。
只要main.cpp
比main.o
更新(也是文件),规则就会被排除。
答案 1 :(得分:1)
main.cpp
是您的源代码。 main.cpp
没有目标这一事实意味着Make无法生成该文件。您需要自己创建它。