使用find_package命令对寻找库文件后,将会在.cmake文件中定义关于库路径、库的可执行文件等变量名。现汇总如下:
OpenCV
set(OpenCV_DIR "/usr/local/opencv420/lib/cmake/opencv4")
find_package(OpenCV 4.2.0 REQUIRED)
在OpenCVConfig.cmake文件中定义了变量名称
路径名称:
${OpenCV_INCLUDE_DIRS}
库文件名称:
${OpenCV_LIBS}
Ceres
find_package(Ceres REQUIRED)
路径名称:
${CERES_INCLUDE_DIRS}
库文件名称:
${CERES_LIBRARIES}
Sophus
find_package(Sophus REQUIRED)
路径名称:
${Sophus_INCLUDE_DIRS}
库文件名称:
Sophus::Sophus
Pangolin
find_package(Pangolin REQUIRED)
路径名称:
${Pangolin_INCLUDE_DIRS}
库文件名称:
${Pangolin_LIBRARIES}
g2o
find_package(g2o REQUIRED)
路径名称:
${G2O_INCLUDE_DIRS}
库文件名称:
${G2O_CORE_LIBRARY} ${G2O_STUFF_LIBRARY}
还有很多,这里不一一列举,用的时候可能需要具体参考FindG2O.cmake
Eigen
Eigen比较特殊,只需要路径名称即可
include_directories("/usr/include/eigen3")
DBoW3:
set( DBoW3_INCLUDE_DIRS "/usr/local/include" )
set( DBoW3_LIBS "/usr/local/lib/libDBoW3.a" )
使用的时候只需要将DBoW3_LIBS用target_link_libraries与目标文件连接在一起就行
PCL
find_package(PCL REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
add_definitions(${PCL_DEFINITIONS})
CSparse
find_Package(CSparse REQUIRED)
include_directories(${CSPARSE_INCLUDE_DIR})
cxsparse
Octomap
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})