Eclipse cdt Eclipse环境中Arduino库的问题(uuu向量_XX)

Eclipse cdt Eclipse环境中Arduino库的问题(uuu向量_XX),eclipse-cdt,arduino,avr,Eclipse Cdt,Arduino,Avr,我正在尝试将一个基于Arduino IDE的项目迁移到Eclipse。这个项目相当大(10.pde,使用了大约20个库)。我按照中的说明编译核心库并创建一个基础项目。当用一个简单的LED闪烁程序进行测试时,所有的编译都非常好 为了让我的应用程序正常工作,我还需要更多的库(标准的Arduino库,例如SoftwareSerial、SPI或Wire)和自定义库。我像导入上面的核心库一样导入了它们(我又创建了两个项目)并编译了它们。一切都很顺利 将所有.pde导入Eclipse中的基本项目后,将它们转

我正在尝试将一个基于Arduino IDE的项目迁移到Eclipse。这个项目相当大(10.pde,使用了大约20个库)。我按照中的说明编译核心库并创建一个基础项目。当用一个简单的LED闪烁程序进行测试时,所有的编译都非常好

为了让我的应用程序正常工作,我还需要更多的库(标准的Arduino库,例如SoftwareSerial、SPI或Wire)和自定义库。我像导入上面的核心库一样导入了它们(我又创建了两个项目)并编译了它们。一切都很顺利

将所有.pde导入Eclipse中的基本项目后,将它们转换为类并稍微清理代码。最后一个我无法解决的问题是多变量定义,导致如下错误:

./src/main.o: In function `__vector_37':
main.cpp:(.text.__vector_37+0x0): multiple definition of `__vector_37'
./src/MyClass.o:MyClass.cpp:(.text.__vector_37+0x0): first defined here

关键是,我在我的代码或包含grep的库中找不到任何_vector_XX变量。Eclipse关于在何处查找原因的提示也没有多大帮助。我该怎么办?

[摘自问题评论中的@mmm链接]:


.

您的代码(main.pde、MyClass.pde)似乎有问题。为了帮助您,我们需要查看这些文件。我更愿意说,这是因为Arduino库没有使用ArduinoIDE构建的问题,因为Arduino使用了一些有趣的make逻辑。我知道有些人可能熟悉这些向量错误,只是还没有找到解决这些错误的方法。看看错误消息。它说有两种不同的定义,一种在
main.o
中,另一种在
MyClass.o
中。它们都不是任何图书馆的一部分。可能问题出在两个文件中都使用的include文件中。当然,您通常是对的,两个文件中的_vector_37的定义存在冲突。但问题也有其特殊性。我刚刚发现了一个我以前没有看到的提示。所以我想我建立了一些库,它们都使用相同的中断。我想你正在使用Arduino Mega,因为ATmega328上没有ISR向量37。在ATmega1280上,矢量37表示
USART1数据寄存器为空
。没错,我应该将此标记为已解决:)。