链接器错误:未定义引用`_fini'

时间:2011-12-07 04:26:21

标签: linker

我正在使用lpcXpresso进行嵌入式系统开发。它使用修改后的Eclise作为其IDE,以及MCU C编译器和MCU链接器。

我导入了一些eisting代码并且有一些链接器错误,我很快就解决了。但最后一个让我难过:

undefined reference to `_fini'  

我希望这意味着我的一些代码会调用一个名为fini()的函数 - 对吗?

除了我没有一个(很有人认为有InitialzeTracingSubsystem())。而且我不相信链接器会截断名称,因为它早先曾抱怨_getimeofday

知道我做错了吗?

1 个答案:

答案 0 :(得分:3)

您没有显示您的命令行。我猜你已经直接使用了ld(链接器)。

不要那样做。相反,始终使用编译器驱动程序进行链接。

_init_fini通常是libc的一部分,或者是随附的C运行时启动文件(crt0.ocrtend.o等)它

编译器驱动程序将完成链接它们所需的魔术。链接器不会。