找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1854|回复: 6
收起左侧

求知,已经被折磨了半天*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS

[复制链接]
ID:967241 发表于 2023-5-21 21:39 | 显示全部楼层 |阅读模式
2.png
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
回复

使用道具 举报

ID:883242 发表于 2023-5-21 22:48 | 显示全部楼层
system和zf_iic两个源文件里面都定义了start(L104),而且这两个start还不是同一个类型的(L102)。
回复

使用道具 举报

ID:967241 发表于 2023-5-21 22:58 | 显示全部楼层
不知道解决的方法对不,将START换成了GO,就能编译过去了
回复

使用道具 举报

ID:967241 发表于 2023-5-21 22:59 | 显示全部楼层
Hephaestus 发表于 2023-5-21 22:48
system和zf_iic两个源文件里面都定义了start(L104),而且这两个start还不是同一个类型的(L102)。

感谢
回复

使用道具 举报

ID:526543 发表于 2023-5-22 13:33 | 显示全部楼层
这个错误提示表明在你的代码中存在多个公共定义(multiple public definitions)。这通常是由于同一个标识符(例如函数或变量)在多个源文件中被声明为公共(public)导致的冲突。

要解决这个问题,你可以采取以下几个步骤:

确保每个源文件中只有一个对应的公共定义。检查你的代码中是否有重复的函数或变量声明。如果有多个源文件需要共享某个函数或变量,可以使用头文件和外部链接(external linkage)来进行正确的声明和定义。

如果你使用了多个源文件,确保每个源文件都有唯一的标识符。检查你的代码中是否存在相同名称的全局变量或函数,这可能导致冲突。确保在不同的源文件中使用不同的命名来避免冲突。

检查你的链接器脚本或项目配置文件是否正确。可能存在配置错误导致重复的公共定义。

确保你的函数和变量的作用域正确。将函数或变量声明为静态(static)可以限制其作用域,避免与其他源文件中的同名标识符冲突。

如果你使用的是开发环境或集成开发环境(IDE),尝试清理项目并重新构建。有时编译器可能会缓存一些中间结果,导致错误的链接。

回复

使用道具 举报

ID:401052 发表于 2023-5-22 15:55 | 显示全部楼层
多个文件里面重复声明了一个变量
回复

使用道具 举报

ID:1034262 发表于 2023-5-23 11:05 | 显示全部楼层
重复定义了,修改其中一个即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表