问题来源:
在阅读CMakeLists.txt中,看见下面一段话
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
猜测里面CXX
指的应该是C++,但是不明白为什么不是CPP,在stackoverflow上有一个比较好的回答:
问题解决
首先,XX就像旋转了45°的++,故CXX 表示 “C++”
- 为什么不用C++?
因为宏定义不能包含+号 - 为什么不用CPP?
因为CPP已经被用于表示"C PreProcessor"
举例来说,在GNU Makefile中可以定义如下变量:
CPPFLAGS : extra flags for the C preprocessor (also used in C++).
CFLAGS : extra flags for the C compiler.
CXXFLAGS : extra flags for the C++ compiler.
(Usually you will use CPPFLAGS and CFLAGS for a C project, and CPPFLAGS and CXXFLAGS for a C++ project.)