You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

卸载自编译PCL-1.12后,如何让编译系统不再依赖/usr/local/lib?

解决方法

1. 清理PCL 1.12残留的CMake配置文件

自编译安装的PCL会在系统目录留下未被make uninstall清理干净的配置文件,这是CMake仍指向旧路径的核心原因,执行以下命令删除残留:

sudo rm -rf /usr/local/lib/cmake/PCL*
sudo rm -rf /usr/local/share/pcl-1.12

2. 强制CMake优先使用系统APT安装的PCL 1.10

在colcon编译时通过参数指定正确的PCL配置路径,或者调整库搜索优先级:

  • 方法一:直接指定PCL 1.10的CMake配置目录:
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DPCL_DIR=/usr/lib/x86_64-linux-gnu/cmake/PCL-1.10
  • 方法二:调整CMake的前缀路径优先级,让系统库目录优先于/usr/local/lib:
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/usr/lib/x86_64-linux-gnu:$CMAKE_PREFIX_PATH"

3. 清理colcon编译缓存

之前的编译缓存可能保留了旧的PCL路径信息,先清理再重新编译:

rm -rf build/ install/ log/

4. 验证路径是否生效

执行以下命令确认系统识别的PCL版本和路径:

pkg-config --modversion pcl_common
pkg-config --variable=libdir pcl_common

若输出为1.10和/usr/lib/x86_64-linux-gnu,说明路径已正确指向系统安装的PCL版本。

内容的提问来源于stack exchange,提问作者yo930039

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 23:05:17