You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL Ubuntu20.04下riscv64-unknown-elf-gcc找不到libc、libgloss如何解决

问题根因

你安装的riscv64-unknown-elf-gcc仅包含编译器前端,Ubuntu官方源将裸机编译所需的C运行时库(newlib、libgloss)拆分为独立软件包,未随编译器默认安装,因此链接时找不到依赖的目标文件和库文件。

修复步骤
  • 第一步:执行以下命令安装缺失的依赖包
sudo apt update && sudo apt install -y libnewlib-riscv64-unknown-elf
  • 第二步:验证依赖是否安装完成
    执行以下命令,正常会输出三个对应文件的路径:
dpkg -L libnewlib-riscv64-unknown-elf | grep -E "(crt0\.o|libc\.a|libgloss\.a)"
  • 第三步:测试编译功能
    你之前执行的riscv64-unknown-elf-gcc -lc --verbose没有指定输入源文件,属于无效测试命令。可以创建一个简单的测试源文件验证:
  1. 新建test.c文件,写入以下内容:
int main(void) {
    return 0;
}
  1. 执行编译命令:
riscv64-unknown-elf-gcc test.c -o test.elf

没有任何报错即代表环境修复完成。

补充说明
  • 如果后续编译仍提示找不到库文件,可以手动指定库搜索路径,编译时添加参数-L/usr/riscv64-unknown-elf/lib
  • riscv64-unknown-elf是裸机编译目标,生成的.elf文件无法直接在WSL的Ubuntu环境下运行,需要搭配qemu-riscv64静态模拟器或者RISC-V硬件平台运行。

内容的提问来源于stack exchange,提问作者Ericccccccc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:36:03