Darknet_ros unsupported GNU version gcc versions later than 6 are not supported解决方案

在Ubuntu 20.04上搭建darknet_ros时遇到编译错误,由于GCC版本过高(大于6),导致darknet_ros无法编译。通过安装并切换到gcc-5版本,删除并重新创建gcc和g++的链接,最终成功解决编译问题,完成darknet_ros的构建和链接。
摘要由CSDN通过智能技术生成

项目场景:

在ubuntu2018中搭建darknet_ros框架,使用yolo进行物体检测。


问题描述

`darknet_ros编译失败,出现下面情况

In file included from /usr/include/host_config.h:50:0,
                 from /usr/include/cuda_runtime.h:78,
                 from <command-line>:0:
/usr/include/crt/host_config.h:121:2: error: #error -- unsupported GNU version! gcc versions later than 6 are not supported!
 #error -- unsupported GNU version! gcc versions later than 6 are not supported!
  ^~~~~


原因分析:

上面的报错信息中提示到的是GCC版本过高,要使用GCC-6或者以下版本,这里我们选择gcc-5版本。(因为darknet是c语言编写的,G++可改可不改,但建议一起更改)


参考文章

[ubuntu]GCC与CUDNN版本不兼容
error: #error – unsupported GNU version! gcc versions later than 6 are not supported!

解决方案:

1、安装gcc-5 g+±5
sudo apt-get install gcc-5 g++-5
2、进入usr/bin
cd usr/bin
3、删除原来的gcc 和g++映射
sudo rm gcc g++
4、重新创建映射
sudo ln -s gcc-5 gcc
sudo ln -s g++-5 g++
5、进入cuda更改相应的gcc g++映射
cd usr/local/cuda/bin
sudo rm gcc g++
sudo ln -s /usr/bin/gcc /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++ /usr/local/cuda/bin/g++

问题解决

Scanning dependencies of target darknet_ros
Scanning dependencies of target darknet_ros_nodelet
[ 97%] Building CXX object darknet_ros/darknet_ros/CMakeFiles/darknet_ros.dir/src/yolo_object_detector_node.cpp.o
[ 97%] Building CXX object darknet_ros/darknet_ros/CMakeFiles/darknet_ros_nodelet.dir/src/yolo_object_detector_nodelet.cpp.o
[ 98%] Linking CXX executable /home/ycx/yolo/devel/lib/darknet_ros/darknet_ros
[100%] Linking CXX shared library /home/ycx/yolo/devel/lib/libdarknet_ros_nodelet.so
[100%] Built target darknet_ros_nodelet
[100%] Built target darknet_ros
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值