我正在使用CMake在Windows(Visual Studio)和Linux机器(GCC)上构建我的项目.我想将一些代码标记为"仅调试",比如
#ifdef DEBUG
//some logging here
#endif
问题是:CMake"Debug"构建类型中的哪些编译器定义在所有平台上都可用?调试似乎不存在.(仅当构建类型为Debug时,我才希望具有日志(log)记录或其他功能.)
我正在使用CMake在Windows(Visual Studio)和Linux机器(GCC)上构建我的项目.我想将一些代码标记为"仅调试",比如
#ifdef DEBUG
//some logging here
#endif
问题是:CMake"Debug"构建类型中的哪些编译器定义在所有平台上都可用?调试似乎不存在.(仅当构建类型为Debug时,我才希望具有日志(log)记录或其他功能.)
默认情况下,CMake会将-DNDEBUG
添加到CMAKE_C_FLAGS_{RELEASE,MINSIZEREL}.所以,你可以用#ifndef NDEBUG
.