KEIL编译出现错误问题处理 Error: L6200E: Symbol

移植yaffs2到单片机操作系统,发现有以下问题


Build target 'Target 1'

compiling yaffs_nand.c...
..\..\..\Src\XFramework\yaffs2\yportenv.h(204): warning:  #47-D: incompatible redefinition of macro "YBUG" (declared at line 33 of "..\..\..\Src\XFramework\yaffs2\ydirectenv.h")
..\..\..\Src\XFramework\yaffs2\yaffs_nand.c(109): warning:  #167-D: argument of type "unsigned int *" is incompatible with parameter of type "int *"
..\..\..\Src\XFramework\yaffs2\yaffs_nand.c(113): warning:  #167-D: argument of type "unsigned int *" is incompatible with parameter of type "int *"
linking...
.\obj\HXET2300.axf: Error: L6200E: Symbol yaffs_GetBlockInfo multiply defined (by yaffs_guts.o and yaffs_checkptrw.o).
.\obj\HXET2300.axf: Error: L6200E: Symbol yaffs_GetBlockInfo multiply defined (by yaffs_nand.o and yaffs_checkptrw.o).
.\obj\HXET2300.axf: Error: L6200E: Symbol yaffs_GetBlockInfo multiply defined (by yaffs_tagscompat.o and yaffs_checkptrw.o).
.\obj\HXET2300.axf: Error: L6200E: Symbol yaffs_GetBlockInfo multiply defined (by yaffs_tagsvalidity.o and yaffs_checkptrw.o).
.\obj\HXET2300.axf: Error: L6200E: Symbol yaffs_GetBlockInfo multiply defined (by yaffscfg2k.o and yaffs_checkptrw.o).
.\obj\HXET2300.axf: Error: L6200E: Symbol yaffs_GetBlockInfo multiply defined (by yaffsfs.o and yaffs_checkptrw.o).

".\obj\HXET2300.axf" - 6 Errors, 3 Warning(s).

Target not created


出现以上错误是因为1 有可能在多个文件中定义了这个函数,查阅后没有 2在.h文件中定义了函数,keil是不支持的,将其挪到c文件即可!

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
根据引用[1]和引用的描述,"Error: L6218E: Undefined symbol Delay(unsigned) (referred from main.o)"是由于在编译时找不到名为Delay(unsigned)的符号导致的错误。这个错误通常发生在移植代码时,缺少了相关的函数定义或链接库。 解决这个错误的方法有以下几种: 1. 确保移植的代码中包含了Delay(unsigned)函数的定义或声明。检查移植的代码中是否有相关的函数定义或声明,如果没有,需要将该函数的定义或声明添加到代码中。 2. 检查编译器的链接设置。在Keil中,可以通过打开项目的选项对话框,然后选择“链接”选项卡来检查链接设置。确保链接设置中包含了Delay(unsigned)函数所在的库文件或对象文件。 3. 检查编译器的搜索路径。在Keil中,可以通过打开项目的选项对话框,然后选择“搜索路径”选项卡来检查搜索路径设置。确保搜索路径中包含了Delay(unsigned)函数所在的库文件或对象文件的路径。 4. 检查库文件是否正确引入。如果使用了外部库文件,需要确保库文件正确引入到项目中,并且链接设置中包含了库文件的路径。 5. 检查函数命名和参数是否正确。确保函数的命名和参数与调用该函数的地方一致,包括大小写和参数类型。 请注意,具体的解决方法可能因为你的具体情况而有所不同。建议你根据具体的错误信息和代码进行排查和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值