参考:
正文:
main.cpp 中不改代码中可以切换 real 的类型
#ifdef USE_DP
typedef double real;
#else
typedef float real;
#endif
用g++ 编译时:
用 USE_DP
g++ -O3 -DUSE_DP main.cpp
不用 USE_DP
g++ -O3 main.cpp
在 CMakeLists.txt编写宏时:
用 USE_DP
set(CMAKE_BUILD_TYPE "Release")
add_definitions(-DUSE_DP)
add_executable(main main.cpp)
不用USE_DP
set(CMAKE_BUILD_TYPE "Release")
#add_definitions(-DUSE_DP)
add_executable(main main.cpp)
也可以使用判断的形式:
通过切换 option(…) 中的ON/OFF 值来使用 USE_DP
option(USE_DP "Set to switch to build use DP" ON)
if (USE_DP)
add_definitions(-DUSE_DP) # 宏定义 USE_SEE
message(STATUS "Use DP")
add_executable(main main.cpp)
else()
message(STATUS "Not Use DP")
add_executable(main main.cpp)
endif()
注意的是 改变 USE_DP 的值 OFF/ON,得删除掉cmake-build-debug, 重新cmake