cMakelist介绍
以ORBSLAM为例子,ORBSLAM课根据sensor是stereo\单目\rgbd等,切换不同的main函数运行。
cMakelist多main函数相关部分
整体结构:
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/Examples/Monocular)
# 存放可执行文件的目录,即二进制可执行文件生成位置
add_executable(mono_tum
Examples/Monocular/mono_tum.cc)
target_link_libraries(mono_tum ${PROJECT_NAME})
# 生成的可执行文件名称,也常常直接用 ${PROJECT_NAME} 作为可执行文件名
# 单目sensor的主函数的相对路径位置为: Examples/Monocular/mono_tum.cc
# target_link_libraries: 将目标文件mono_tum 与 库文件${PROJECT_NAME} 进行链接
# 下面同理
add_executable(mono_kitti
Examples/Monocular/mono_kitti.cc)
target_link_libraries(mono_kitti ${PROJECT_NAME})
add_executable(mono_euroc
Examples/Monocular/mono_euroc.cc)
target_link_libraries(mono_euroc ${PROJECT_NAME})
project中公用的部分链接
以ORBSLAM为例子,其主体部分,不论何种sensor,是同样的。
而在cmakelist中,为了不用每个sensor的example都将主体部分包含一遍,在一