解决 ubuntu 下编译文件的时候与 YAML 相关的的报错

输入:

复制代码
catkin build -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8

复制代码
catkin build airsim_tutorial_pkgs -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8

报错如下:

可能是缺少 yaml-cpp 文件,然后操作:

复制代码
sudo apt-get install yaml-cpp
sudo apt-get install ros-noetic-yaml

报错

编译:

复制代码
catkin build airsim_tutorial_pkgs -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8

报错

根据下面的错误,用 VScode 打开报错的文件

打开文件命令:

复制代码
cd /home/leaf/AirSim/ros/src/airsim_ros_pkgs
code .

yaml-cpp 没有链接到 airsim_ros

文件前面 fine_package 没有 find yaml-cpp,加上

这里不能在 find_package(catkin REQUIRED COMPONENTS 里面加入 yaml-cpp,因为这个里面是 find ros 包的,而 yaml-cpp 不是一个 ros 包,是系统的,只能单独写一个 find_packages,加入 yaml-cpp

再编译依旧报错

然后去网上下载 yaml-cpp

git clone 下来后直接安装到系统里

参考链接:

yaml-cpp的安装及使用_yaml cpp安装-CSDN博客

复制代码
 git clone https://github.com/jbeder/yaml-cpp.git
                cd yaml-cpp
                mkdir build && cd build
                cmake ..
                make -j16
                sudo make install

再编译就成功了

复制代码
catkin build airsim_tutorial_pkgs -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8
相关推荐
SabreWulf202014 小时前
Ubuntu 20.04手动安装.NET 8 SDK
linux·ubuntu·avalonia·.net8
不是吧这都有重名14 小时前
为什么ubuntu大文件拷贝会先快后慢?
linux·运维·ubuntu
DONG99916 小时前
ubuntu 22 安装轻量级桌面Xfce并使用xrdp远程桌面连接
linux·运维·ubuntu
让子弹飞022 天前
36.2Linux单总线驱动DS18B20实验(详细讲解代码)_csdn
linux·ubuntu·驱动的分离和分层
朱自清的诗.2 天前
使用虚拟机Ubuntu搭建mosquito服务器 使esp32、上位机通信
ubuntu·esp32·mosquito
虎头金猫2 天前
如何在Linux上使用Docker在本地部署开源PDF工具Stirling PDF:StirlingPDF+cpolar让专业操作像在线文档一样简单
linux·运维·ubuntu·docker·pdf·开源·centos
空灵之海2 天前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节
笨鸟贤妃2 天前
Ubuntu 22.04 安装 Docker & Compose 最新最简单完整指南
ubuntu·docker·compose
leo__5202 天前
在Ubuntu 22.04系统中无需重启设置静态IP地址
tcp/ip·ubuntu·php
对你无可奈何2 天前
关于Ubuntu的 update造成的内核升级
运维·服务器·ubuntu