解决 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
相关推荐
C++ 老炮儿的技术栈7 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
爱学习的狮王10 小时前
window10和ubuntu22.04双系统之卸载ubuntu系统
linux·运维·ubuntu
人工智能和FPGA AI技术10 小时前
虚拟机ubuntu20.04共享安装文件夹
ubuntu
DIY全栈开发10 小时前
ESP32S3 Ubuntu vscode如何使用USB-JTAG调试
linux·vscode·ubuntu
Reggie_L19 小时前
RabbiteMQ安装-ubuntu
linux·ubuntu·ruby
风吹落叶花飘荡1 天前
Ubuntu系统 系统盘和数据盘扩容具体操作
linux·运维·ubuntu
贾斯汀玛尔斯1 天前
ubuntu/centos系统ping 不通域名的解决方案
linux·ubuntu·centos
翟天保Steven2 天前
Ubuntu-安装Epics教程
linux·ubuntu·epics
Tipriest_2 天前
离线进行apt安装的过程(在只能本地传输的ubuntu主机上使用apt安装)
linux·运维·ubuntu·apt·install·deb
QMCY_jason2 天前
Ubuntu 1804 编译ffmpeg qsv MediaSDK libva 遇到的问题记录
linux·ubuntu·ffmpeg