使用arm-none-eabi-gcc编译和链接库liba.a错误

我在64位Linux机器上用C语言编译hello world程序。 我正在使用一个GCC ARMembedded式工具链,用一个ATMEL AT91SAM9G20处理器在FOX G20 V板上交叉编译我的程序。

在第一次,我编译时有一些错误,因为程序没有识别printf,return等函数(标准的C函数)。 所以我决定在函数之间build立链接,我相信这些函数是在libc.a库中定义的(纠正我,如果我错了),通过执​​行arm-none-eabi-gcc -o hello hello.c libc.a但结果仍然导致错误:

 libc.a(lib_a-exit.o): In function `exit': exit.c:(.text.exit+0x16): undefined reference to `_exit' libc.a(lib_a-sbrkr.o): In function `_sbrk_r': sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk' libc.a(lib_a-writer.o): In function `_write_r': writer.c:(.text._write_r+0x10): undefined reference to `_write' libc.a(lib_a-closer.o): In function `_close_r': closer.c:(.text._close_r+0xc): undefined reference to `_close' libc.a(lib_a-fstatr.o): In function `_fstat_r': fstatr.c:(.text._fstat_r+0xe): undefined reference to `_fstat' libc.a(lib_a-isattyr.o): In function `_isatty_r': isattyr.c:(.text._isatty_r+0xc): undefined reference to `_isatty' libc.a(lib_a-lseekr.o): In function `_lseek_r': lseekr.c:(.text._lseek_r+0x10): undefined reference to `_lseek' libc.a(lib_a-readr.o): In function `_read_r': readr.c:(.text._read_r+0x10): undefined reference to `_read' collect2: error: ld returned 1 exit status 

我真的不确定为什么程序仍然不能识别标准函数,即使我已经将库链接到应用程序。 如果有人有理由为什么,或者如何解决这个问题,我将非常感激。

UPDATE

我已经从这里下载了glibc库。 我编译并创build了一个静态库,从我在newlib-2.1.0/libgloss/armfind的syscalls.c库中,当我把库链接到我的应用程序代码时,我仍然得到相同的错误。

Solutions Collecting From Web of "使用arm-none-eabi-gcc编译和链接库liba.a错误"