0.刚学习ROS的新手往往用易科的镜像安装的Ubuntu和ROS。因为这个镜像会集成OpenCV和PCL函数库,为新手带来很大方便。但是PCL版本是1.7,而随着学习的深入,会发现PCL1.7缺少很多函数头文件,这是因为版本太低,我们需要另外安装PCL1.8版本. 安装之前记得更新安装依赖库。
1. 下载源码
GitHub-PointCloudLibrary/pclat/pcl-1.8.1rc2 https://github.com/PointCloudLibrary/pcl/tree/pcl-1.8.1rc2
2. 建立build目录编译
在pcl文件中建立并进入build目录
$ mkdir build && cd build编译安装
$ cmake ..
$ make -j4
$ sudo make install
3. 在工作空间相应ROS包的cmakelist文件中声明添加:
find_package(PCL 1.8 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
4. catkin_make编译即可
虽然编译会通过,能生成可执行文件,不影响使用。但是会有warning,还没有想到解决办法,如果你有解决办法欢迎交流。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
12.21更新,最近看到一些新的操作
比如在cmake阶段直接制定安装路径:$ cmake -DCMAKE_INSTALL_PREFIX=/home/exbot/pcl/inatall -DCMAKE_BUILD_TYPE="Rlease" ..
当然如果不指定安装路径的话头文件一般是默认在/usr/local/lib,系统自带的集成库一般在/usr/lib
在cmakelist中仍然使用 find_package(PCL 1.8 REQUIRED)
如果仍然找不到,就加上一句set(CMAKE_PREFIX_PATH "/home/exbot/pcl/inatall")