繁体   English   中英

这个makefile如何制作objectfiles?

[英]How does this makefile make objectfiles?

我有一个简单的问题。 我做了一个像这样简单的Makefile

OBJ = main.o Str.o Out.o
CC = g++
TAR = main

$(TAR):$(OBJ) Header.h
    $(CC) -o $(TAR) $(OBJ)

clean:
    rm -f $(OBJ) $(TAR)

我当前目录中只有Str.cppOut.cppmain.cpp 即使我错过了将源文件转换为objectfile的过程(如g ++ -c Str.cpp),它也能正常工作。

我很好奇为什么这个Makefile有效。 它会自动制作对象文件吗?

10.2内置规则目录

编译C ++程序

no是从n.cc, n.cpp或nC自动生成的,配方格式为'$(CXX)$(CPPFLAGS)$(CXXFLAGS)-c'。 我们建议您对C ++源文件使用后缀“.cc”而不是“.C”。

答案是肯定的,它为每个源文件在同一目录中创建目标文件(然后将它们全部与您的规则链接到最终可执行文件)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM