如何将Makefile的隐式规则与.cpp文件一起使用? 在C++文件的MaxFrm文件中使用隐式规则,使用.c或.cc扩展名。但是我通常有C++源的.CPP文件扩展名。

如何将Makefile的隐式规则与.cpp文件一起使用? 在C++文件的MaxFrm文件中使用隐式规则,使用.c或.cc扩展名。但是我通常有C++源的.CPP文件扩展名。,c++,makefile,C++,Makefile,如何将Makefile的隐式规则用于.cpp文件?请参阅: 编译C++程序< /P> n、 o是从n.cc、n.cpp或n.C自动生成的,其格式为“$(CXX)$(CPPFLAGS)$(cxflags)-C”。我们鼓励您使用后缀“.cc”来代替C++源文件,而不是'.c'。 这是我的 模式规则的先决条件中的“%”表示与 已由目标中的“%”匹配。为了使模式规则 应用时,其目标模式必须与考虑中的文件名匹配 并且它的所有先决条件(在模式替换之后)都必须命名 存在或可以创建的文件。这些文件成为 目标。因

如何将Makefile的隐式规则用于.cpp文件?

请参阅:

编译C++程序< /P> n、 o是从n.cc、n.cpp或n.C自动生成的,其格式为“$(CXX)$(CPPFLAGS)$(cxflags)-C”。我们鼓励您使用后缀“.cc”来代替C++源文件,而不是'.c'。 这是我的

模式规则的先决条件中的“%”表示与 已由目标中的“%”匹配。为了使模式规则 应用时,其目标模式必须与考虑中的文件名匹配 并且它的所有先决条件(在模式替换之后)都必须命名 存在或可以创建的文件。这些文件成为 目标。因此,形式规则

 %.o : %.c ; recipe...
指定如何使文件n.o,并将另一个文件n.c作为其子文件 前提条件,前提是n.c存在或可以创建

所以你可以试试类似的

%.o : %.cpp %.hpp
   $(CC) $(CFLAGS) $@

<代码> > CPP 对C++工作正常。code>.C通常用于
C
code。您找到隐式规则的文档了吗?你尝试了什么,为什么它不起作用?@ JuangophanZA.NO.Cuth.C./Cuth>也是C++的。code>.c代表c.@H2CO3好的,我的错。但是,。CPP<代码>应该为C++的工作。Zhen Hope,你不使用30年的C++文档。好,我看到问题了,我看了一个旧的文档页面。现在也使用了.cpp。到今天为止,谷歌的一些第一批搜索结果仍然指向旧的文档页面。好的,我看到了问题,我查看了一个旧的文档页面。现在也使用了.cpp。不知道为什么它引用了一些可能过时的原始GNU make文档副本。如果你只是在谷歌上搜索“gnu制作手册”,第一个结果就是原始的最新文档。