我刚刚开始使用lpcXpresso进行嵌入式系统开发。它使用改进的Eclise作为IDE,使用MCU C编译器和MCU链接器。
我导入了一些已有的代码,并且有一些链接器错误,我很快就解决了这些错误。但最后一条把我难倒了:
undefined reference to `_fini' 我希望这意味着我的一些代码调用了一个名为fini()的函数,对吧?
除了我没有(无可否认的是有一个InitialzeTracingSubsystem())。我不相信链接器会截断这个名称,因为它之前抱怨过_getimeofday。
你知道我做错了什么吗?
发布于 2011-12-07 13:28:03
你没有显示你的命令行。我猜您已经直接使用了ld (链接器)。
别干那事。相反,请始终使用编译器驱动程序进行链接。
_init和_fini通常是libc或C运行时启动文件(crt0.o、crtend.o等)的一部分。这是随之而来的。
编译器驱动程序将执行必要的魔术操作,将它们链接起来。链接器不会。
https://stackoverflow.com/questions/8410383
复制相似问题