CMake工程常用库

在进行构建cmake工程时,会调用多个库。各个库在CMakeLists.txt 文件中的常见用法如下:

一、OpenCV库

# OpenCV为常用的库文件,由于有OpenCV 2 和OpenCV 3这两个版本存在,当电脑里面安装了两个版本时,
# 在find_package时要指定查找的OpenCV是哪个版本的。(版本号与OpenCV之间有空格)
# 同时最重要的是要注意OpenCV的大小写(非常重要,常常弄错)。
# 头文件路径为:${OpenCV_INCLUDE_DIRS},库文件路径为:${OpenCV_LIBS}。
# filename 为由 filename.cpp 文件编译而来。
# 用法如下:

find_package(OpenCV 3.0 REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(filename  ${OpenCV_LIBS})

二、Pangolin库

#Pangolin是一个轻量级的OpenGL输入/输出和视频显示的库,可以显示2D/3D的图。
#其头文件路径为:${Pangolin_INCLUDE_DIRS},
#链接库文件的路径为:${Pangolin_LIBRARIES},注意其后部分与OpenCV的库文件变量名不同。
# 用法如下:

find_package(Pangolin REQUIRED)
include_directories(${Pangolin_INCLUDE_DIRS} )
target_link_libraries(filename ${Pangolin_LIBRARIES})

三、Eigen库

#Eigen为开源C++线性代数库,提供矩阵和线性代数的运算。
#由于eigen库只有头文件,没有 .so或 .a那样的二进制文件,所以不需要 target_link_libraries。
#且通过apt安装后,其默认路径为: /usr/include/eigen3
# 用法如下:

include_directories(/usr/local/include/eigen3)

参考资料:

[1]  SLAM中常用库的CMake写法(如何添加各种依赖库)

猜你喜欢

转载自blog.csdn.net/Jeffxu_lib/article/details/86658491