.\Objects\Project.axf: Error: L6200E: Symbol Start multiply defined (by i2c.o and spi.o).
时间: 2023-10-22 17:00:54 浏览: 307
Error: L6218E: Undefined symbol delay-init (referred from main.o
这个错误的原因是链接器在链接的时候发现`Start`这个符号被多次定义了,分别在`i2c.o`和`spi.o`这两个目标文件中都定义了`Start`符号。这个错误一般出现在你在多个源文件中定义了同名的全局符号时会发生。
解决这个错误的方法是在你的代码中保证全局符号的唯一性。有以下几种方法:
1. 将`Start`符号定义为静态变量(即使用`static`关键字),这样它就只能在当前源文件中访问,不会与其他源文件中的同名变量冲突。
2. 将`Start`符号定义为局部变量,只在函数内部使用,同样不会与其他源文件中的同名变量冲突。
3. 如果你需要在多个源文件中访问同一个全局变量,可以将它定义在一个单独的源文件中,然后在其他源文件中使用`extern`关键字声明它即可,这样就不会出现多重定义的错误。
你可以在你的代码中检查一下是否有同名的全局变量,然后使用上述方法解决问题。
阅读全文