STC8H8K64U代码报错 | 已解决
本帖最后由 未元星系 于 2024-6-5 09:27 编辑请教大佬,代码并没有重定义,请问这种报错是怎么回事?
错误原因:MULTIPLE PUBIC DEFINITIONS 多个公共的定义,在这里就是变量 KILL_TIME 重复定义
解决方法:把头文件中的变量 dmabuffer 定义前加上 extern 关键字(只用变量声明不用初始化),然后在你要调用该变量的C文件的程序之前再定义一次 (注意第一个调用的C文件要负责附带初始化该变量,其他调用的c文件就不需要初始化过程) 最好把工程文件发上来 你有可能是变量定义在头文件中,这个头文件被多个c文件包含,造成重复定义 感谢大家,问题已解决。 未元星系 发表于 2024-6-5 09:27
感谢大家,问题已解决。
所以问题是怎么发生的,又是怎么解决的,,发出来好让其他有同样问题的坛友搜索啊 _奶咖君_ 发表于 2024-6-5 09:42
所以问题是怎么发生的,又是怎么解决的,,发出来好让其他有同样问题的坛友搜索啊 ...
我当时是定义了两个DMA缓存数组,一个用于发送数据,一个用于接收数据,一个命名是DMAbuffer,另一个是dmabuffer,改个命名再直接编译成功,当时脑子糊涂了属于是。 重复定义导致的啊 soma 发表于 2024-6-5 15:15
重复定义导致的啊
是的,低级错误 看报错,就是重复定义导致的错误呀
页:
[1]