繁体   English   中英

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

[英]How to use Implicit rule for Makefile with .cpp files?

Makefile中的C ++文件中有一个隐含规则,它使用.C或.cc扩展名。 但我通常有C ++源代码的.cpp文件扩展名。

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

参见隐式规则目录

编译C ++程序

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

这是来自GNU make docs

模式规则先决条件中的'%'代表与目标中的'%'匹配的相同词干。 为了应用模式规则,其目标模式必须与所考虑的文件名匹配,并且其所有先决条件(在模式替换之后)必须命名存在或可以生成的文件。 这些文件成为目标的先决条件。 因此,形式的规则

  %.o : %.c ; recipe... 

指定如何将文件设为no,并将另一个文件nc作为其先决条件,前提是存在或可以创建nc。

所以你可以尝试类似的东西

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

暂无
暂无

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

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