CXX中cmake CMakeLists.txt文件中的“XX”是什么。

时间:2013-08-01 05:51:04

标签: cmake

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

为什么CPX文件中的“XX”不是PP?

2 个答案:

答案 0 :(得分:15)

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

为什么“CXX”?

  • C++”由于宏标识符限制而无法使用(它们不能包含+);
  • CPP”(对于“C Plus Plus”)通常已使用代表“ C P re P rocessor”。

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

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

(通常,您会将CPPFLAGSCFLAGS用于C项目,将CPPFLAGSCXXFLAGS用于C ++项目。)


另请参阅Difference between CPPFLAGS and CXXFLAGS in GNU MakeCFLAGS vs CPPFLAGS

还相关:Correct C++ file extension(和重复的链接)。

答案 1 :(得分:4)

许多文件系统在文件名中不允许+,这就是为什么多年来为C ++源文件出现了许多命名约定,包括.cpp.cc和{{1} }。

CMake有类似的问题,因为它的宏语言是围绕不允许保存.cxx等特殊字符的字符串构建的。这只是限制CMake的解析器变得太复杂。所以每当他们写+时,他们真正的意思就是CXX