声明要求的 cmake 最低版本
cmake_minimum_required( VERSION 2.8 )
声明一个 cmake 工程,括号中为名称
project( HelloSLAM )
设置编译模式,Release较快;Debug可进行断点调试
set( CMAKE_BUILD_TYPE “Debug” )
设置C++11标准
set( CMAKE_CXX_FLAGS “-O3” )
// 后面的-O3(是字母opq的o,大写的欧)是用来调节编译时的优化程度的,最高为-O3,最低为-O0(即不做优化)
// -Ox这个参数只有在CMake -DCMAKE_BUILD_TYPE=Release时有效,因为debug 版的项目生成的可执行文件需要有调试信息并且不需要进行优化,而 release 版的不需要调试信息但需要优化。
添加Eigen头文件
include_directories( “/usr/include/eigen3” )
添加一个库(静态库.a结尾)
add_library( hello libHelloSLAM.cpp )
共享库(共享库.so结尾)
add_library( hello_shared SHARED libHelloSLAM.cpp )
添加一个可执行程序
语法:add_executable( 程序名 源代码文件 )
add_executable( useHello useHello.cpp )
将库文件链接到可执行程序上
target_link_libraries( useHello hello_shared )