Ubuntu 20.10安装RISC-V工具链报错:riscv-isa-sim编译失败
解决RISC-V工具链构建时riscv-isa-sim的std::runtime_error报错
嘿,我刚碰到过类似的问题!你在Ubuntu 20.10上跑.build.sh构建RISC-V工具链时,riscv-isa-sim编译报错找不到std::runtime_error,这其实是个很常见的头文件遗漏问题。
问题原因
../fesvr/dtm.cc里代码抛出了std::runtime_error异常,但忘了包含定义这个异常类的<stdexcept>头文件。C++编译器只会识别已经包含的头文件里的符号,所以找不到这个类就触发了报错。
快速修复步骤
- 先打开那个报错的文件:
nano ../fesvr/dtm.cc - 在文件开头的
#include区域,加上这一行:#include <stdexcept> - 保存退出后,回到构建脚本所在目录,重新执行构建:
./build.sh
额外排查建议
如果修复后还是有问题,可以检查下你的gcc版本是否达标——RISC-V工具链一般要求gcc 7.5及以上。用这个命令看版本:
gcc --version
要是版本太低,就用下面的命令升级到gcc 9(Ubuntu 20.10支持的稳定版本):
sudo apt update sudo apt install gcc-9 g++-9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
内容的提问来源于stack exchange,提问作者vijay ganesh
相关产品推荐
相关产品推荐

