CXX 中"XX"的内容在 cmake CMakeLists.txt 文件中

What is "XX" in CXX in a cmake CMakeLists.txt file

本文关键字:cmake CMakeLists 文件 txt XX CXX      更新时间:2023-10-16

cmake CMakeLists.txt文件中CXX中的"XX"是什么
它的意义是什么。

为什么它是"XX"而不是CPP文件的PP?

XX代表"++"(每个X就像一个旋转了45°的"加号"),CXX代表"C++"。

为什么选择"CXX"?

  • 由于宏标识符的限制,"C++"是不可能的(它们不能包含+
  • "CPP"(代表"C Plus Plus")通常已经用于代表"CPreP处理器"

例如,在GNU Makefile中,您可以定义以下"变量":

  • CPPFLAGS :C预处理器的额外标志(也用于C++)
  • CFLAGS   :C编译器的额外标志
  • CXXFLAGS :C++编译器的额外标志

(对于C项目,通常使用CPPFLAGSCFLAGS,对于C++项目,使用CPPFLAGSCXXFLAGS。)


另请参阅GNU Make中的CPPFLAGS和CXXFLAGS之间的差异以及CFLAGS与CPPFLAGS之间的差异。

还相关:正确的C++文件扩展名(和重复链接)。

许多文件系统不允许在文件名中使用+,这就是为什么多年来出现了许多C++源文件的命名约定,包括.cpp.cc.cxx

CMake也有类似的问题,因为它的宏语言是围绕不允许包含+等特殊字符的字符串构建的。这只是一个限制,以防止CMake的解析器变得过于复杂。所以每当他们写CXX时,他们真正的意思就是C++