在CMake中,set(CMAKE_BUILD_TYPE debug) 和 set(CMAKE_CXX_FLAGS -g) 都与调试有关,但它们的目的和使用方式略有不同。
set(CMAKE_BUILD_TYPE debug)
CMAKE_BUILD_TYPE 为debug意味着,除了其它特定于debug的设置外,CMake还会使用CMAKE_CXX_FLAGS_DEBUG中的标志。CMAKE_CXX_FLAGS_DEBUG 通常包含-g,但也可能包含其他标志。set(CMAKE_CXX_FLAGS -g)
-g选项,这意味着在生成的二进制文件中包含调试信息。CMAKE_BUILD_TYPE那样涉及到整个构建类型的设置。总结:
set(CMAKE_BUILD_TYPE debug)不仅设置了调试标志,还可能影响其他与构建类型相关