小编dam*_*ien的帖子

使用Eclipse的C项目上的链接器错误

我想为STM32F217IG微控制器创建一个项目.

然后我安装了Eclipse和GNU for ARM嵌入式GCC交叉编译器.我不认为这是Code Sourcery.我使用它,因为它支持浮点,而Code Sourcery则不支持.

一旦我这样做,我尝试创建一个只有两个源文件的真正小项目:test.c和main.c,只写入两个:

#include <stdlib.h>
#include <stdio.h>

int main (void)
{
    printf("Hello, World!");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我更改了项目属性中的line命令,用arm-none-eabi-gcc替换GCC,然后尝试编译项目.

我自己没有创建任何make文件; 我在Eclipse中使用了自动创建.

这个建筑看起来很好,但是当谈到链接器时,我在控制台中遇到了以下错误:

make all
'Building target: test3'
'Invoking: Cross GCC Linker'
arm-none-eabi-gcc  -o"test3"  ./main.o ./test3.o

c:/program files/gnu tools arm embedded/4.6 2012q4/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/lib\libc.a(lib_a-exit.o): In function `exit':
exit.c:(.text.exit+0x2c): undefined reference to `_exit'

c:/program files/gnu tools arm embedded/4.6 2012q4/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/lib\libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text._sbrk_r+0x18): undefined reference to `_sbrk'

c:/program files/gnu tools arm embedded/4.6 2012q4/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/lib\libc.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text._write_r+0x20): undefined reference to …
Run Code Online (Sandbox Code Playgroud)

eclipse linker gcc arm gnu

25
推荐指数
3
解决办法
7万
查看次数

标签 统计

arm ×1

eclipse ×1

gcc ×1

gnu ×1

linker ×1