Makefile GNU Make中CPPFLAGS和CXXFLAGS之间的差异 默认情况下,>P>默认的是“代码> CppFLAGs将被提交给C预处理器,而 >CXXFLAGG/将被给予C++编译器。< /P> 这是一个很好的资源,如这样(参见)。< P>FLAG是C预处理器,而CXXFLAGS是C++编译器。

Makefile GNU Make中CPPFLAGS和CXXFLAGS之间的差异 默认情况下,>P>默认的是“代码> CppFLAGs将被提交给C预处理器,而 >CXXFLAGG/将被给予C++编译器。< /P> 这是一个很好的资源,如这样(参见)。< P>FLAG是C预处理器,而CXXFLAGS是C++编译器。,makefile,gnu-make,Makefile,Gnu Make,请参阅。CPPFLAGS应该是用于C预处理器的标志 CXXFLACK< 是C++编译器的标志。 < P>(在我的机器上,无论如何)默认规则通过 CPPPFLAGs/COD>几乎所有的东西, CfLaS> 只在编译和连接C时通过,而代码> CXXFLASK< /COD>只在编译和链接C++时被传递。 < P>默认,它们被设置为某个东西。 实际上,您需要知道每个项目都做什么。事实上,没有人使用内置的默认值,如果您依赖于CPPLAGS,即“C预处理器的标志”,您会发现您关心的项目使用它来表示“C++编

请参阅。

CPPFLAGS
应该是用于C预处理器的标志<代码> CXXFLACK< <代码>是C++编译器的标志。
< P>(在我的机器上,无论如何)默认规则通过<代码> CPPPFLAGs/COD>几乎所有的东西, CfLaS> <代码>只在编译和连接C时通过,而<>代码> CXXFLASK< /COD>只在编译和链接C++时被传递。

< P>默认,它们被设置为某个东西。


实际上,您需要知道每个项目都做什么。事实上,没有人使用内置的默认值,如果您依赖于CPPLAGS,即“C预处理器的标志”,您会发现您关心的项目使用它来表示“C++编译器的标志”。是否将cFLAGS标志传递给C++编译行?有时候。不总是这样。等等等等等等。

我正盯着手册,这时我有了一个完全相同的问题。我在C++中输入了CPPFLAGS,并获得了比搜索手册快得多的答案。这似乎是一种常见的做法,编译C++HA时也会通过cFLAGS。我明白了!
x
是一个
+
侧边,因为
C++标志将炸毁编译器。。。我可能迟到了,但这总比准时到错的地方要好。@baidyanhuang我不认为这是普通的还是不普通的;你会遇到这两种习惯。您必须知道当前的设置在做什么。
CPPFLAGS
不适用于C Plus,但
cxflags
是正确的,但很糟糕。这感觉像是我们被困在了80年代。你可以让make使用调用
make-p
打印出它的预定义变量和规则数据库。一些项目使用CPPFLAGS来表示“c++标志”,但这些项目几乎肯定是出于对标准的无知,如果他们使用CXXFLAGS会更好。@Score_根据我并不反对你的观点,但是这个世界充满了项目,他们根本不在乎任何人认为标准是什么。你总是要调查。