GNU Make 中的 CPPFLAGS 和 CXXFLAGS 有什么区别?
kupuk
问问题
66165 次
4 回答
225
CPPFLAGS
应该用于C P re P处理器的标志;CXXFLAGS
用于 C++ 编译器的标志。
make 中的默认规则(无论如何在我的机器上)传递CPPFLAGS
给几乎所有内容,CFLAGS
仅在编译和链接 C 时CXXFLAGS
传递,并且仅在编译和链接 C++ 时传递。
于 2009-01-30T14:23:40.387 回答
34
默认情况下,CPPFLAGS
将提供给 C 预处理器,而CXXFLAGS
将提供给 C++ 编译器。
GNU Make Manual是解决此类问题的好资源(请参阅隐式变量)。
于 2009-01-30T14:16:03.303 回答
18
CPPFLAGS 用于 C 预处理器,而 CXXFLAGS 用于 C++ 编译器。
见这里。
于 2009-01-30T14:17:39.697 回答
0
默认情况下,它们被设置为某些东西。
在实践中,您需要知道每个项目的作用。几乎没有人使用 make 内置的那些默认值,如果你依赖于,例如,CPPFLAGS 意思是“C 预处理器的标志”,你会发现你关心的项目已经用它来表示“C++ 编译器的标志”反而。CFLAGS 标志是否被传递给 C++ 编译行?有时。不总是。等等等等等等。
于 2017-09-28T21:27:50.847 回答