这类似于Warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated。但是,OP试图编译头文件。就我而言,我试图生成依赖关系:
$ git diff
diff --git a/GNUmakefile b/GNUmakefile
index 791ef05..ce48a59 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -175,6 +176,11 @@ LIBIMPORTOBJS = $(LIBOBJS:.o=.import.o)
TESTIMPORTOBJS = $(TESTOBJS:.o=.import.o)
DLLTESTOBJS = dlltest.dllonly.o
+-include GNUmakefile.deps
+
+GNUmakefile.deps:
+ $(CXX) $(CXXFLAGS) -MM *.h *.cpp > GNUmakefile.deps
+
在避免发出Clang警告的同时,如何使用
CXX
建立依赖关系? 最佳答案
C++编译器的-MM
选项将提供输入文件所有依赖项的列表。假设您实际上编译了.cpp文件(并且不执行$(CXX) -c xyz.h
或类似的操作),则仅您的.cpp文件需要依赖项。因此将其更改为:
$(CXX) $(CXXFLAGS) -MM *.cpp > GNUmakefile.deps
应该在GNUmakefile.deps中提供您需要的所有依赖项。