cmake CMakeLists.txt文件中CXX中的「XX」是什麼。
它的意義是什麼。什麼是cmake CMakeLists.txt文件中CXX中的「XX」。
爲什麼「XX」不是針對CPP文件的PP?
cmake CMakeLists.txt文件中CXX中的「XX」是什麼。
它的意義是什麼。什麼是cmake CMakeLists.txt文件中CXX中的「XX」。
爲什麼「XX」不是針對CPP文件的PP?
XX
代表「++」(每個X
就像一個「正」,旋轉45°),CXX
代表「C++」。
爲什麼「CXX
」?
C++
」是不可能的,因爲宏標識符限制(它們不能包含+
);CPP
」(爲 「C加加上」)通常是已經使用來表示 「ÇP重新P rocessor」。例如,在生成文件GNU可以定義下面的 「變量」:
CPPFLAGS
:對於C預處理器(在C++中使用)的額外標誌。CFLAGS
:C編譯器的額外標誌。CXXFLAGS
:C++編譯器的額外標誌。(通常你會使用CPPFLAGS
和CFLAGS
一個C項目,並CPPFLAGS
和CXXFLAGS
一個C++項目。)
又見Difference between CPPFLAGS and CXXFLAGS in GNU Make和CFLAGS vs CPPFLAGS。
也相關:Correct C++ file extension(和重複的鏈接)。
許多文件系統不允許+
在文件名中,這就是爲什麼出現了多年來的C++源文件的一些命名約定,計有.cpp
,.cc
和.cxx
。
CMake有一個類似的問題,因爲它的宏語言是圍繞不允許保存特殊字符如+
的字符串構建的。這只是使CMake的解析器變得過於複雜的一個限制。所以只要他們寫CXX
,他們真正的意思就是C++
。