1

我一直在尝试将 Arduino 和 Eclipse 联系起来,我觉得我已经很接近了。

我应该从哪里开始寻找这个?

额外/不完整的引用块(根据谷歌搜索)引起了类似的错误。我已经通过我的 AVR 链接器设置来寻找报价,但运气不佳。

我找对地方了吗?

我应该检查哪些文件?

我已经查看了我自己编写的文件(在这种情况下,基本的 Arduino 闪烁程序)。

**** Build of configuration Release for project C64_Arduino1 ****

make all 
Building target: C64_Arduino1.elf
Invoking: AVR C++ Linker
avr-gcc --cref -s -Os -o"C64_Arduino1.elf"  ./C64_Arduino1.o ./CDC.o ./HID.o 
./HardwareSerial.o ./Print.o ./Stream.o ./Tone.o ./USBCore.o ./WInterrupts.o ./WMath.o ./WString.o ./malloc.o ./wiring.o ./wiring_analog.o ./wiring_digital.o ./wiring_pulse.o 
./wiring_shift.o   -l"Arduino_Mega_2560_or_Mega_ADK" -lm -L/Users/Chet/Desktop/Chet's Shit/Side Projects/Programming/C64_Arduino1/Release -L"/Users/Chet/Desktop/Chet's Shit/Side 
Projects/Programming/C64_Arduino1" -mmcu=atmega2560
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [C64_Arduino1.elf] Error 2

**** Build Finished ****

编辑:

我已经注释掉了我的所有代码(包括#include's),除了主代码(它是空的),我仍然得到错误。我已经按照HereHere的指定设置了我的 IDE 。依然没有。

4

1 回答 1

1

查看实际的错误消息:

/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file

我可以看到问题很可能是由于某种 Makefile 语法错误。

当您编写诸如此类的 make 规则时:

foo:
    touch foo

make 的作用是,它首先检查调用的文件是否foo已经存在,如果不存在,则运行 command /bin/sh -c 'touch foo'。所以我们所说的那一行touch foo应该有有效的 shell 脚本语法。

查看您最终运行的命令:

avr-gcc --cref -s -Os -o"C64_Arduino1.elf"  ./C64_Arduino1.o ./CDC.o ./HID.o 
./HardwareSerial.o ./Print.o ./Stream.o ./Tone.o ./USBCore.o ./WInterrupts.o ./WMath.o ./WString.o ./malloc.o ./wiring.o ./wiring_analog.o ./wiring_digital.o ./wiring_pulse.o 
./wiring_shift.o   -l"Arduino_Mega_2560_or_Mega_ADK" -lm -L/Users/Chet/Desktop/Chet's Shit/Side Projects/Programming/C64_Arduino1/Release -L"/Users/Chet/Desktop/Chet's Shit/Side 
Projects/Programming/C64_Arduino1" -mmcu=atmega2560

我可以看到问题出'在某些目录路径中的字符上。您应该转义它(如 中"/Users/Chet/Desktop/Chet\'s Shit"),或者作为快速变通的符号链接或移动目录。

作为一般方法提示,您应该首先检查 CLI 中的一切是否正常,然后继续教 Eclipse 应该运行哪些命令。

另外,我会考虑使用名为ino的工具而不是 make,它可能只适用于最低配置。我有一些用 Makefile 替换 Arduino IDE 的经验,但是当您需要使用不同的板并且可能同时连接多个板时,它会变得很麻烦。试试看,它看起来很有希望。

于 2013-05-11T11:03:51.863 回答