(CMAKE_BUILD_TYPE "Release")# 设置构建类型 SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall -FPIC")# 设置 Release 模式下的 C++ 编译器标志 set(CMAKE_CXX_STANDARD 11)# 设置项目的 C++ 标准 set(CMAKE_CXX_STANDARD_REQUIRED True)# 表示设置的 C++ 标准是必需的,即CMake会报错如果...
1. Debug: `-O0 -g` 2. Release: `-O3 -DNDEBUG` 3. MinSizeRel: `-Os -DNDEBUG` 4. RelWithDebInfo: `-O2 -g -DNDEBUG` 1. 2. 3. 4. 技巧:设定一个变量的默认值 如何让 CMAKE_BUILD_TYPE 在用户没有指定的时候为 Release,指定的时候保持用户指定的值不变呢。 就是说 CMake 默认情况下 ...
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3") # 设置支持C++ 11 set (CMAKE_CXX_STANDARD 11) set (CMAKE_CXX_STANDARD_REQUIRED ON) add_definitions (-D_GLIBCXX_USE_C99=1) # 设置生成的可执行文件路径 set(...
Release: -O3 -DNDEBUG MinSizeRel: -Os -DNDEBUG RelWithDebInfo: -O2 -g -DNDEBUG 此外需要注意:NDEBUG宏会使assert宏被去除掉(assert宏主要是在调试时使用)。 小技巧:设定一个变量的默认值 如何让 CMAKE_BUILD_TYPE 在用户没有指定的时候为 Release,而在用户指定的时候就等于用户指定的值呢? 由于在 CMa...
-O3 -g -W -Wall -Wunused-variable -Wunused-parameter -Wunused-function-Wunused -Wno-deprecated -Woverloaded-virtual -Wwrite-strings -D__WUR= -D_REENTRANT -D_FILE_OFFSET_BITS=64-DTIXML_USE_STL )add_library(lib_demo cmd.cpp global.cpp ...
注: Release 编译有很多等级,如 O1, O2, O3, O3 为最高,O表示optimization优化。 此外,每个 Release 编译都会定义宏NDEBUG,Debug 编译一般会定义DEBUG宏为 1。 如何定义? 需要执行 cmake 命令时添加-DCMAKE_BUILD_TYPE:STRING=Debug cmake .. -DCMAKE_BUILD_TYPE:STRING=Debug ...
add_compile_options主要用来设置编译选项,比如例子代码中-std=c++11指定编译c++代码时加上c++11支持选项;-g允许发出gcc能提供的所有有用的警告到生成的二进制文件中;-O0是调节编译优化程度,调到最高需要设置 -O3 ,最低的是 -O0 即不做优化;# Find requirementsfind_package(PCL REQUIRED)if(NOT PCL_FOUN...
./../thirdparty/comm/lib NO_DEFAULT_PATH) FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) link_libraries(${COMM_LIB} ${RUNTIME_LIB}) ADD_DEFINITIONS( -O3 -g -W -Wall -Wunused-variable -Wunused-parameter -Wunused-function -Wunused -Wno-deprecated -Woverloaded-...
CMakeCache.txt:CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG CMakeCache.txt:CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG CMakeFiles/main.dir/flags.make:CXX_FLAGS = -O3 -Wall CMakeFiles/main.dir/link.txt:/usr/bin/c++ -O3 -Wall CMakeFiles/main.dir/main.cpp.o -o main -rdynamic ...