GNU Make中CPPFLAGS和CXXFLAGS的区别
GNU Make中的CPPFLAGS和CXXFLAGS有什么区别?
CPPFLAGS
被认为是C P处理器的标志; CXXFLAGS
用于C ++编译器的标志。
make中的默认规则(在我的机器上,无论如何)都将CPPFLAGS
传递给几乎所有事物,编译和链接C时只传递CFLAGS
,而编译和链接C ++时只传递CXXFLAGS
。
默认情况下, CPPFLAGS
将被赋予C预处理器,而CXXFLAGS
将被赋予C ++编译器。
GNU Make手册是这类问题的一个很好的资源(见隐式variables )。
CPPFLAGS用于C预处理器,而CXXFLAGS用于C ++编译器。
看到这里 。
默认情况下,它们被设置为某个东西。
在实践中,你需要知道每一个项目是做什么的。 实际上没有人使用make中的默认值,例如,如果依赖CPPFLAGS意思是“C预处理器的标志”,那么你会发现你关心的项目已经用它来表示“C ++编译器的标志”代替。 而且CFLAGS标志被传递给C ++编译行吗? 有时。 不总是。 等等等等