GNU Make中CPPFLAGS和CXXFLAGS之间的区别

Pau*_*son 131 makefile gnu-make

GNU Make中CPPFLAGS和CXXFLAGS之间有什么区别?

Kie*_*ron 198

CPPFLAGS应该是C P re P rocessor的标志; CXXFLAGS用于C++编译器的标志.

make(在我的机器上,无论如何)的默认规则传递CPPFLAGS给几乎所有东西,CFLAGS只在编译和链接C CXXFLAGS时传递,并且仅在编译和链接C++时传递.

  • 哈.我知道了!`x`是一个`+',因为`C++ FLAGS`会炸毁编译器.......我可能迟到了晚会,但这比准时到达错误的派对还要好. (17认同)
  • `CPPFLAGS` 是 **NOT** for **C** **P**lus **P**lus 但 `CXXFLAGS` 是。 (2认同)

Chr*_*oph 33

默认情况下,CPPFLAGS将提供给C预处理器,同时CXXFLAGS将提供给C++编译器.

GNU Make使用手册是针对这样的问题(见一个很好的资源隐含变量).

  • 当我有完全相同的问题时,我正盯着手册.我将CPPFLAGS键入stackoverflow并得到答案比搜索手册快得多. (25认同)

sta*_*lue 18

CPPFLAGS用于C预处理器,而CXXFLAGS用于C++编译器.

看到这里.