在 GNU Make 中 CPPFLAGS 和 CXXFLAGS 有什么区别?
默认情况下,CPPFLAGS将提供给 C 预处理器,而 CXXFLAGS将提供给 C + + 编译器。
CPPFLAGS
CXXFLAGS
对于这样的问题,GNU 制作手册是一个很好的资源(参见 隐式变量)。
CPPFLAGS 用于 C 预处理器,而 CXXFLAGS 用于 C + + 编译器。
参见 给你。
CPPFLAGS应该用于 C PreP处理器的标志; CXXFLAGS用于 C + + 编译器的标志。
Make 中的默认规则(无论如何,在我的机器上)将 CPPFLAGS传递给几乎所有内容,CFLAGS只在编译和链接 C 时传递,而 CXXFLAGS只在编译和链接 C + + 时传递。
CFLAGS
默认情况下,它们被设置为某个值。
在实践中,您需要知道每个项目都做些什么。实际上没有人使用 make 内置的默认值,如果你依赖 CPPFLAGS,例如,它的意思是“给 C 预处理器的标志”,你会发现你关心的项目使用它来代替“给 C + + 编译器的标志”。CFLAGS 标志是否传递给 C + + 编译行?有时候。不总是这样。等等,等等。