1. 为什么我推荐你用apt装PCL?聊聊源码安装的“坑”
如果你刚开始接触点云处理,想在Ubuntu 20.04上把PCL(Point Cloud Library)这个强大的工具库跑起来,那你大概率会面临一个经典选择:是去官网下载源码自己编译,还是直接用系统自带的包管理工具apt来安装?
我以过来人的身份告诉你,对于绝大多数刚上手、想快速验证想法或者做项目开发的兄弟,直接用apt安装是最高效、最不容易出错的路子。我知道,很多技术教程喜欢鼓吹“源码安装大法好”,能装最新版,能自定义编译选项。这话没错,但前提是你得有足够的时间和耐心去填坑。
我自己就曾经头铁,尝试过在Ubuntu上源码编译安装PCL。那体验,简直是一场“依赖地狱”的冒险。PCL本身是个“巨无霸”,它依赖了一票其他重量级库,比如VTK(可视化工具包)、FLANN(快速最近邻搜索库)、Boost(C++万能工具箱)、Eigen(线性代数库)等等。这些库本身版本就多,相互之间的依赖关系错综复杂。你从PCL官网下个源码包,cmake的时候,缺这个少那个是家常便饭。更头疼的是,你好不容易把某个依赖库的指定版本装上了,可能会跟你系统里已经存在的、通过apt安装的其他软件产生冲突,导致一些莫名其妙的运行时错误。我印象最深的一次是,为了一个VTK的兼容性问题,折腾了整整一个下午,最后发现是OpenGL驱动版本不匹配,那种挫败感,新手真的很难扛得住。
所以,除非你有非常特殊的定制化需求(比如必须启用某个默认关闭的模块,或者要针对特定硬件做极致优化),否则在Ubuntu 20.04这个长期支持版上,拥抱apt提供的稳定版本,是最明智的选择。apt最大的好处就是“省心”。它会自动帮你解决所有依赖关系,确保安装的PCL库和它依赖的所有组件都是经过官方仓库测试、彼此兼容的稳定版本。你不需要关心VTK该装哪个版本,Eigen会不会冲突,一条命令下去,系统帮你打理得明明白白。我们的目标是快速上手,把精力集中在点云算法和应用开发上,而不是在环境搭建上消耗斗志。接下来,我就带你一步步走通这条最安稳的路,并把路上可能遇到的小石子(坑)都给你标出来。
2. 动手之前:搞清你的Ubuntu和PCL版本
在敲下任何安装命令之前,有一个关键步骤绝对不能跳过:弄清楚你的系统能提供什么,以及你需要什么。这就像去超市买东西,你得先知道超市有没有货(系统仓库里的PCL版本),再看看是不是你想要的牌子(版本号)。
2.1 查看你的Ubuntu系统版本
虽然我们标题说了是Ubuntu 20.04,但保不齐有人系统升级过或者记混了。确认一下总没错。打开你的终端,输入:
lsb_release -a
你会看到类似这样的输出:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
重点看 Codename 这一行,显示为 focal。这个代号非常重要,它代表了Ubuntu 20.04的内部项目代号。后面我们配置软件源(apt源)时,用的就是这个代号,而不是数字版本号。记住它:focal。
2.2 探查apt仓库里的PCL版本
Ubuntu官方软件仓库(以及像阿里云、清华这样的镜像站)为每一个系统版本(代号)都维护了一套经过充分兼容性测试的软件包。PCL也不例外。我们需要先看看,在focal这个版本的仓库里,能安装的PCL最高版本是多少。
在终端里运行这个查询命令:
apt-cache show libpcl-dev | grep Version
这条命令的意思是:查询名为libpcl-dev这个软件包的详细信息,并用grep过滤出包含“Version”的行。libpcl-dev是PCL的开发包,包含了编译所需的头文件和链接库。
执行后,你大概率会看到这样的结果:
Version: 1.10.0+dfsg-5ubuntu1
看,版本是1.10.0。这就是Ubuntu 20.04官方仓库提供的PCL版本。有些朋友可能会问:“网上都说PCL有1.11、1.12甚至更新的版本了,1.10是不是太老了?” 这里有个认知误区需要澄清。对于Ubuntu这样的稳定发行版,其核心软件仓库在系统发布时就已经固定了主要软件的大版本号。在系统的整个支持周期内(对于20.04 LTS是5年),仓库主要提供的是安全更新和严重的错误修复,而不是频繁升级到大版本。这样做是为了保证整个系统生态的极度稳定。PCL 1.10本身已经是一个非常成熟和功能完备的版本,涵盖了绝大多数点云处理的基础和高级算法。对于学习、科研和大部分工业应用来说,1.10版本完全足够,而且其稳定性经过了海量用户的长期验证。盲目追求新版本,在Linux系统环境下,往往意味着要自己引入不稳定的因素。
所以,请接受这个设定:在Ubuntu 20.04上,通过apt安装PCL,得到的就是稳定可靠的1.10版本。这是我们后续所有操作的基础。
3. 确保安装流畅:配置一个靠谱的软件源
“软件源”是什么?你可以把它想象成手机上的“应用商店”。apt这个包管理工具,需要知道去哪个“商店”里下载软件。默认情况下,


142

被折叠的 条评论
为什么被折叠?



