来自其他来源的 ld 找不到库

时间:2021-05-27 13:12:12

标签: c++ linux gcc

首先,标题中的“其他来源”是指不是 /usr/bin/ld

那么对于这么长的问题,我感到非常抱歉。我也想在这里说,任何帮助都将不胜感激。

根据https://github.com/cliffordwolf/picorv32,我在make test 期间遇到错误。我已经在github上打开了一个问题。

我已经彻底搜索了这个问题,发现了以下问题,但没有一个答案能满足这个问题。

gcc /usr/bin/ld: cannot find -lglut32, -lopengl32, -lglu32, -lfreegut, but these are installed

Linking failure [ld cannot find library]

ld cannot find .so libraries

ld cannot find -l

ld cannot find libjasper library

ld cannot find an existing library

好的!现在是什么问题。正如我上面提到的,当 make test 根据 https://github.com/cliffordwolf/picorv32 时,我收到以下错误:

/opt/riscv32i/lib/gcc/riscv32-unknown-elf/8.2.0/../../../../riscv32-unknown-elf/bin/ld: cannot find -lgcc 
collect2: error: ld returned 1 exit status 
Makefile:110: recipe for target 'firmware/firmware.elf' failed 
make: *** [firmware/firmware.elf] Error 1

在终端写入之前:

/opt/riscv32i/bin/riscv32-unknown-elf-gcc -Os -ffreestanding -nostdlib -o firmware/firmware.elf \
    -Wl,-Bstatic,-T,firmware/sections.lds,-Map,firmware/firmware.map,--strip-debug \
    firmware/start.o firmware/irq.o firmware/print.o firmware/hello.o firmware/sieve.o firmware/multest.o firmware/stats.o tests/or.o tests/xor.o tests/sh.o tests/andi.o tests/sub.o tests/sll.o tests/sra.o tests/lh.o tests/bge.o tests/srai.o tests/lb.o tests/mulh.o tests/slti.o tests/srli.o tests/rem.o tests/lw.o tests/div.o tests/beq.o tests/auipc.o tests/sw.o tests/jalr.o tests/bgeu.o tests/ori.o tests/divu.o tests/mulhu.o tests/add.o tests/slt.o tests/lbu.o tests/lhu.o tests/lui.o tests/bltu.o tests/simple.o tests/remu.o tests/xori.o tests/sb.o tests/jal.o tests/mul.o tests/addi.o tests/srl.o tests/slli.o tests/j.o tests/bne.o tests/and.o tests/blt.o tests/mulhsu.o -lgcc

Makefile 中的第 110 行是:

firmware/firmware.elf: $(FIRMWARE_OBJS) $(TEST_OBJS) firmware/sections.lds
$(TOOLCHAIN_PREFIX)gcc -Os -ffreestanding -nostdlib -o $@ \
    -Wl,-Bstatic,-T,firmware/sections.lds,-Map,firmware/firmware.map,--strip-debug \
    $(FIRMWARE_OBJS) $(TEST_OBJS) -lgcc

我的机器是什么?

uname -a 
Linux ahmad-pc 5.4.0-42-generic #46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


lsb_release -a 
LSB Version:    core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:        18.04
Codename:       bionic

gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

到目前为止我做了什么:

locate libgcc_s.so
locate libgcc_s.so.1
locate libgcc.a

返回我在工作目录中链接但不起作用的许多位置。

export LD_LIBRARY_PATH=/path/to/libgcc_s.so.1:$LD_LIBRARY_PATH

这又没用。

我也在提到的链接中安装了推荐的软件包,但再次不起作用。

正如我在问题开头提到的,任何帮助都会得到和平的赞赏。

感谢您到目前为止的关注。

0 个答案:

没有答案
相关问题