在CMakeList.txt中有个bool变量,在debug模式下需要设置为OFF,在其他模式(release、thread、leak)下设置为ON,需要在makefile中将该值设置不同的值,CMakeList.txt中增加的代码如下:
IF(CMAKE_BUILD_TYPE STREQUAL "DEBUG")SET(DEBUG_OFF OFF)
ELSE()SET(DEBUG_OFF ON)## 这个是打印DEBUG_OFF的值用的
MESSAGE("DEBUG_OFF=" ${LIBRARY_PATH})
这样就可以在代码中使用该宏:DEBUG_OFF,例如:
#include "a.h"
int sqrt(int x) {long t = x;while (t*t > x) {t = (t + x/t) / 2;}#ifndef DEBUG_OFFif (t > INT_MIN && t <= INT_MAX) {} else {std::cout << "overflow int value range." << std::endl;}#endifreturn t;
}