参考:Using PCL in your own project
CMake 中关于PCL部分到描述:
cmake_minimum_required(VERSION 2.6 FATAL_ERROR) #1
project(MY_GRAND_PROJECT) #2
find_package(PCL 1.3 REQUIRED COMPONENTS common io) #3
include_directories(${PCL_INCLUDE_DIRS}) #4
link_directories(${PCL_LIBRARY_DIRS}) #5
add_definitions(${PCL_DEFINITIONS}) #6
add_executable(pcd_write_test pcd_write.cpp) #7
target_link_libraries(pcd_write_test ${PCL_LIBRARIES}) #8
#1 :cmake最低版本
#2:项目名称
#3:找到PCL的包,要求最低版本是1.3,同时,我们还可以这样写
find_package(PCL 1.3 REQUIRED COMPONENTS io) #只有一个版本
find_package(PCL 1.3 REQUIRED COMPONENTS io common) #有几个版本
find_package(PCL 1.3 REQUIRED) #所有版本
#4-6:当找到PCL后,设置以下几个值:
PCL_FOUND: 找到则为1,否则不设置
PCL_INCLUDE_DIRS: 设置为PCL已安装头文件和依赖项头文件的路径
PCL_LIBRARIES: 设置为建立和安装好的PCL库到文件名
PCL_LIBRARY_DIRS: 设置为PCL库和3rd party依赖关系
PCL_VERSION: 找到的PCL版本
PCL_COMPONENTS: 所有可用参数
PCL_DEFINITIONS: 列出所需的预处理定义和编译器标志
我们在这里用include_directories() 宏,让cmake知道我们包含的外部头文件,其中PCL_INCLUDE_DIRS包含了我们所需要的内容。
#7:从源文件pcd_write.cpp.中生成一个可执行文件pcd_write_test。
#8:除了包含的头,还要让项目知道包含的库。