【build报错】optional: No such file or directory

问题描述

在学习NS3时遇到了一点小问题,找到解决办法后发现是自己之前手多把gcc版本更改了产生的,所以大概率只对小部分报错适用,就当作记录一段小小的经历吧。

问题背景

在NS3运行first.cc时,遇到了这样的报错:

...include/ns3/length.h:34:20: fatal error: optional: No such file or directory

点入文件后发现找不到optional这个库了。在网上搜寻了许久解决办法,但与我的问题都不太匹配。仔细考虑后,觉得应该是c++库的问题,而Linux中我的c++是依附于gcc的。后来想起自己之前为了别的,把系统默认的gcc-9改成了gcc-5,于是,解决方法自然就是切换gcc版本。

问题解决

查看gcc版本号:

gcc -v

设置优先级(由于Ubuntu20.4默认装的是gcc-9,所以我的虚拟机里本来就有gcc-9了,此处直接设置gcc-5和gcc-9的优先级,数字可随意取,数字越大优先级越高)

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50

接下来可以查看一下gcc的情况

sudo update-alternatives --config gcc

一般来说就更改好啦!

不过我的问题好像没有完全解决,我build时还是报错:

execv of /usr/bin/c++ failed: No such file or director

我通过卸载重装g++解决了…但不知道对不对,但是起码是能正常build了。
有问题还希望大佬们多多指正!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值