如何处理链接器错误:错误 - 找不到-lgcc

时间:2014-03-03 21:04:09

标签: c linux gcc makefile cpu-architecture

这是我的makefile:

task0 : main.o numbers.o add.o
        gcc -m32 -g -Wall -o task0 main.o numbers.o add.o

main.o : main.c
        gcc -g -Wall -m32 -ansi -c -o main.c
numbers.o : numbers.c
           gcc -g -Wall -m32 -ansi -c -o numbers.c
add.o: add.s
      nasm -g -f elf -w+all -o add.o add.s
clean : 
       rm -f *.o task0

这是终端输出:

gcc -m32 -g -Wall -o task0 main.o numbers.o add.o
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when      searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
make: *** [task0] 1 הלקת

有人可以解释一下lgcc是什么以及如何解决这个问题?

1 个答案:

答案 0 :(得分:10)

(在评论中回答。见Question with no answers, but issue solved in the comments (or extended in chat)

@Basil Starynkevitch写道:

  

您应该安装gcc-multilib包

@Jekyll写道:

  

https://askubuntu.com/questions/250910/cross-compilation-issues-with-gcc-g