【发布时间】:2017-11-16 18:36:15
【问题描述】:
我有三个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
任何帮助将不胜感激。谢谢!
【问题讨论】:
标签: gcc compiler-errors compilation cross-platform