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

如何永久设置BOOST_ROOT解决Ubuntu20.04编译Nav2时Boost依赖报错问题

问题解决方法

方案1:全局设置BOOST_ROOT环境变量(永久生效适配所有编译)

编辑当前用户的shell配置文件:

  • 若使用bash:执行nano ~/.bashrc
  • 若使用zsh:执行nano ~/.zshrc

在文件末尾添加如下内容:

export BOOST_ROOT=/usr

保存退出后执行source ~/.bashrc(对应zsh则替换为对应的配置文件路径)即可立即生效,后续所有编译任务都会自动读取该环境变量。

方案2:仅针对colcon编译设置默认参数(不影响其他CMake项目)

在用户根目录下创建colcon默认配置文件:

mkdir -p ~/.colcon
nano ~/.colcon/defaults.yaml

写入如下配置:

build:
  cmake-args:
    - -DBOOST_ROOT=/usr
    - -DBoost_NO_BOOST_CMAKE=ON

保存后后续所有colcon build命令都会自动携带上述CMake参数,无需手动输入。

临时验证方案

如果只想先测试问题是否由BOOST_ROOT为空导致,可直接执行单次编译命令验证:

colcon build --symlink-install --cmake-args -DBOOST_ROOT=/usr -DBoost_NO_BOOST_CMAKE=ON

额外排查项

如果上述方案仍无效,可检查是否存在多余的Boost配置文件干扰查找逻辑:
执行命令find /usr -name "boost_program_options-config.cmake",删除所有不在/usr/lib/x86_64-linux-gnu/cmake/路径下的配置文件,再尝试编译即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:45:11