Ubuntu18安装新版本PCL-1.13,并和ROS自带PCL-1.8共存

1.安装新版本PCL-1.13

  • 下载PCL-1.13代码
    在这里插入图片描述

  • 修改CMakeLists.txt文件,不编译vtk相关的代码vtk的问题比较难解决,但是一般我们安装pcl都是为了一些新特性的算法,而vtk就是可视化相关的,所以不要这部分也可以。,搜寻CMakeLists.txt中搜索vtk关键字,将有关vtk的都注释掉,再cmake,这样一来有关可视化的module就不会build了,也不需要依赖vtk

# Reset VTK_FOUND to off
# set(VTK_FOUND OFF)
# # Find VTK - VTK has to be found before Qt, otherwise it can overwrite Qt variables
# option(WITH_VTK "Build VTK-Visualizations" TRUE)
# if(WITH_VTK)
#   if(ANDROID)
#     message(WARNING "VTK is not supported on Android.")
#   else()
#     include("${PCL_SOURCE_DIR}/cmake/pcl_find_vtk.cmake")
#   endif()
# endif()
  • 新建安装路径:新建安装目录,/home/cc/MyLibInstall/pcl-1.13。注意这里最好不要安装到系统根目录下,也就是默认的/usr/local/下,因为经过我测试发现在自己的电脑上,如果安装到了/usr/local/下,最后链接pcl的库的时候会默认链接到这个路径下的库,也就是自己新安装的pcl-1.13的库。但是绝大部分工程都是使用ROS自带的pcl-1.8的,这个时候虽然编译可以通过,但是运行的时候会出错。所以保险的方式就是不要安装到/usr/local/下,而是安装到自己的用户目录下,然后特殊的工程需要使用pcl-1.13的,那么就在CMakeLists.txt中手动指定PCL的路径;而其他的绝大多数工程使用PCL-1.8就不用动了,仍然会链接到ROS自带的pcl-1.8中。

  • 创建编译文件夹并cmake:进入代码文件夹,mkdir build新建build文件夹。然后配置安装目录,即cmake -DCMAKE_INSTALL_PREFIX=/home/cc/MyLibInstall/pcl-1.13 ..,注意最后有个..,表示编译的CMakeLists.txt文件在当前build文件夹的上一层目录下。

  • 最后make install即可:因为这里我们安装到用户家目录下的,而非根目录下,所以不用sudo

2.在工程中使用新版本的PCL-1.13

  • 一般来说使用ROS自带的pcl-1.18的时候都会使用如下命令:
find_package(catkin REQUIRED COMPONENTS
	pcl_conversions
	pcl_ros
)

这样就会找的默认安装的pcl-1.8

  • 使用新版本的pcl-1.13,则需要把上述的语句注释掉,然后手动寻找pcl的库。因此写成如下形式:
find_package(catkin REQUIRED COMPONENTS
	# pcl_conversions
	# pcl_ros
)
set(PCL_DIR "/home/cc/MyLibInstall/pcl-1.13/share/pcl-1.13")   # PCLConfig.cmake所在的文件夹
find_package(PCL 1.13.0 REQUIRED)

这样后面就可以全部链接到pcl-1.13了,而不会链接到pcl-1.8

3.pcl-1.13误装到/usr/local/下如何卸载

如果新版本pcl-1.13误装到/usr/local/下,其他工程都会优先链接到这个版本的pcl。此时可以参考这篇博客:linux删除cmake源码编译安装的库,删除安装的新版本pcl-1.13,然后按照前面的方法重新安装即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值