1

Arduino と Eclipse を連携させようとしてきましたが、近づいたような気がします。

これをどこから探し始めるべきですか?

同様のエラーは、余分な/不完全な引用ブロックによって引き起こされています (Google 検索による)。引用符を探して 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 を含む) をコメントアウトしましたが、それでもエラーが発生します。IDE を指定どおりにセットアップしましたHereおよびHere。まだ何もありません。

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有効なシェル スクリプト構文が含まれている必要があります。

最終的に実行したコマンドを見ると、次のようになります。

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 に教えることに移ります。

また、 make の代わりにinoというツールを使用することを検討します。最小限の構成で動作する可能性があります。Arduino IDE を Makefile だけで置き換えた経験がありますが、異なるボードを使用する必要があり、同時に複数のボードを接続する必要がある場合は面倒です。試してみてください。非常に有望です。

于 2013-05-11T11:03:51.863 に答える