隐藏的符号`__aeabi_uidivmod'最终链接失败:价值不佳

时间:2017-11-16 18:36:16

标签: gcc compiler-errors compilation cross-platform

我有三个C文件 a.c,b.c d.c ,编译如下:

arm-linux-gnueabihf-gcc -c -fPIC  -Iab/inc/  -I../inc  ab/src/a.c -oa.o

arm-linux-gnueabihf-gcc -c -fPIC  -Iab/inc/  -I../inc  ab/src/b.c -ob.o

arm-linux-gnueabihf-ld -fPIC -shared a.o b.o -olibab.so

arm-linux-gnueabihf-gcc -pthread -Iab/inc/ -I../inc/ -L.  ab/test/src/d.c -L. -lab

如果没有交叉编译我没有错误或警告但是,在交叉编译中我得到错误:

错误如下

arm-linux-gnueabihf/bin/ld: a.out: hidden symbol `__aeabi_uidivmod' in gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/libgcc.a(_udivsi3.o) is referenced by DSO 
arm-linux-gnueabihf/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

问题是因为链接链接器(ld),如果我通过gcc链接,则不会看到此错误。

链接器没有链接到libgcc.a,因为看到这个错误这是来自linaro IRC频道的响应