VINS fusion的 cmakelist

vins_estimator CMakeLists.txt

1.1 cmake_minimum_required(VERSION 2.8.3)

指定 cmake 的最小版本

1.2 project(vins)

设置项目名称为 vins

1.3 set(CMAKE_BUILD_TYPE “Release”)

Debug : 调试模式,输出调试信息,不做优化
Release: 发布模式,没有调试信息,全优化
set(CMAKE_BUILD_TYPE Debug) --> 设定编译类型为debug,调试时需要选择debug
set(CMAKE_BUILD_TYPE Release) -->发布时选择release

1.4 set(CMAKE_CXX_FLAGS “-std=c++11”)

在编译选项中加入c++11支持

1.5 set(CMAKE_CXX_FLAGS_RELEASE “-O3 -Wall -g”)

增加编译选项 -O3 -Wall -g
-Wall :编译过程中输出警告warnings

1.6 find_package(catkin REQUIRED )

find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
geometry_msgs
nav_msgs
tf
cv_bridge
camera_models
image_transport)

加载catkin库,同时添加angles、roscpp、std_msgs等的依赖
A) FIND_PACKAGE( [version] [EXACT] [QUIET] [NO_MODULE] [ [ REQUIRED | COMPONENTS ] [ componets… ] ] )
用来调用预定义在 CMAKE_MODULE_PATH 下的 Find.cmake 模块。
也可以自己定义 Find模块,将其放入工程的某个目录中,通过 SET(CMAKE_MODULE_PATH dir)设置查找路径,供工程FIND_PACKAGE使用。

B) REQUIRED 参数
其含义是指是否是工程必须的,表示如果报没有找到的话,cmake的过程会终止,并输出警告信息。对应于Find.cmake模块中的 NAME_FIND_REQUIRED 变量。

C) COMPONENTS参数
在REQUIRED选项之后,或者如果没有指定REQUIRED选项但是指定了COMPONENTS选项,在它们的后面可以列出一些与包相关(依赖)的部件清单(components list)

1.7 find_package(OpenCV REQUIRED)

加载OPENCV

1.8 find_package(Ceres REQUIRED)

加载Ceres

1.9 include_directories(${catkin_INCLUDE_DIRS} ${CERES_INCLUDE_DIRS})

添加头文件路径

2.0 set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)

PROJECT_SOURCE_DIR是指当前CMakeLists.txt所在的文件路径( 我的电脑里是 /home/yang/catkin_ws/src/VINS-Fusion/vins_estimator )
则把 CMAKE_MODULE_PATH设置成/home/yang/catkin_ws/src/VINS-Fusion/vins_estimator/cmake

2.1 find_package(Eigen3)

加载Eigen3

2.2 include_directories( ${catkin_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIR} )

添加头文件路径

2.3 catkin_package()

catkin_package()是catkin提供的CMake宏,用于为catkin提供构建、生成pkg-config和CMake文件所需要的信息。

2.4 add_library(vins_lib)

add_library(vins_lib
src/estimator/parameters.cpp
src/estimator/estimator.cpp
src/estimator/feature_manager.cpp
src/factor/pose_local_parameterization.cpp
src/factor/projectionTwoFrameOneCamFactor.cpp
src/factor/projectionTwoFrameTwoCamFactor.cpp
src/factor/projectionOneFrameTwoCamFactor.cpp
src/factor/marginalization_factor.cpp
src/utility/utility.cpp
src/utility/visualization.cpp
src/utility/CameraPoseVisualization.cpp
src/initial/solve_5pts.cpp
src/initial/initial_aligment.cpp
src/initial/initial_sfm.cpp
src/initial/initial_ex_rotation.cpp
src/featureTracker/feature_tracker.cpp)
添加这些库文件,这些库是程序需要使用的,命名为vins_lib

2.5 target_link_libraries(vins_lib ${catkin_LIBRARIES} ${OpenCV_LIBS} ${CERES_LIBRARIES})

给库vins_lib添加库链接

2.6 add_executable(vins_node src/rosNodeTest.cpp)

用源文件rosNodeTest.cpp生成可执行文件vins_node

2.7 target_link_libraries(vins_node vins_lib)

给可执行文件vins_node添加库链接vins_lib

2.8 add_executable(kitti_odom_test src/KITTIOdomTest.cpp)

用源文件KITTIOdomTest.cpp生成可执行文件kitti_odom_test

2.9 target_link_libraries(kitti_odom_test vins_lib) **

给可执行文件kitti_odom_test添加库链接vins_lib

3.0 add_executable(kitti_gps_test src/KITTIGPSTest.cpp)

用源文件KITTIGPSTest.cpp生成可执行文件kitti_gps_test

3.1 target_link_libraries(kitti_gps_test vins_lib)

给可执行文件kitti_gps_test添加库链接vins_lib

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值