首页 > 代码库 > 【XS128】Link error L1822 symbol _FADD / _FSUB/ _FDIV/ _FMUL.....错误解决的方法

【XS128】Link error L1822 symbol _FADD / _FSUB/ _FDIV/ _FMUL.....错误解决的方法

转载请注明出处

因为阅历有限,篇幅不周之处还望指出,谢谢

假设方法确实奏效,请一定回复点赞哦,给后来人也是一种帮助,谢谢!


这是飞思卡尔 XS128平台比較常见的LINK错误。

可是要解决起来也比較头疼。

非常多人或许有这种经历,整个project文件夹是在别人做过的全部文件拷贝过来然后改动代码符合自己项目要求而产生的。这就发生了一个问题,

当初新建project时的非常多配置,比方预处理器配置,就会出现不适用当前项目。比方,本文所要提到的链接错误。

这个发生错误于:

原project在新建的时候在某一步有与float相关的三个选项,如图:


假设你选择了none,那么不幸的是,假设在代码中添?关于float的四则运算等代码,就会出现该链接错误。

然而,新建一个带float的project然后把代码文件都加入?进去是不是就能解决该链接错误呢?答案是不一定的。

笔者做了一个測试,发如今Make的时候会死机,整个IDE就卡在这儿了。

当然,也不一定会出现这样的情况,原因还是在原先的project配置你并不清楚什么样的,或者其他原因也说不定.

那么,该怎样解决LINK错误并通过编译呢?

先看下飞思卡尔官方的解释:

Basically for HC12 you have to remove the option -D__NO_FLOAT__ from compiler command line and add floating point format option (if needed) then replace ansi library file.

To retrieve the appropriate ansi library file check the file readme.txt from {Install}\lib\hc12c.

依照提示,第一步

将编译器命令进行改动:


按第二个button进入标准设置。

然后在命令行參数设置框里将-D__NO_FLOAT__命令删除:



然后,第二步

原先使用的是ansixbi.lib库文件,此处相应改成ansixbf.lib文件(例如以下图)


原文件移除并导入新文件,问题成功解决!