Go Down

Topic: bekomme Beispiel für IRremote nicht compiliert (Read 824 times) previous topic - next topic

qualidat

Jan 30, 2013, 07:00 pm Last Edit: Jan 30, 2013, 07:02 pm by qualidat Reason: 1
Da ich mich gerne mit der IR-Problematik beschäftigen möchte, habe ich mir die Libs von https://github.com/shirriff/Arduino-IRremote heruntergeladen. Ich benutze die IDE in der Version 1.03 auf dem Mac (Snow Leo). Ich möchte noch vorausschicken, dass ich mit keinem eigenen oder Beispielprogramm vorher solche Probleme hatte.

Ich habe also in Dokumente/Arduino einen Ordner 'IRremote' angelegt, in dem befinden sich IRremote.cpp, IRremote.h, IRremoteInt.h sowie IRremote.ino (war vorher IRtest aus dem Examples-Ordner). Beim Öffnen von IRremote.ino werden dieses und die anderen Komponenten in Tabs geladen. Hardware habe ich zur Zeit nicht angeschlossen.

Bei einem Klick auf den Überprüfen-Haken ernte ich allerdings eine nahezu endlose Liste an Fehlermeldungen, von denen die beiden letzten ziemlich absurd sind:

Quote

core.a(main.cpp.o): In function `main':
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:11: undefined reference to `setup'
/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp:14: undefined reference to `loop'


Was ist das, wie komme ich dem bei? Danke für Tips ...

fckw

#1
Jan 30, 2013, 07:34 pm Last Edit: Jan 30, 2013, 07:36 pm by fckw Reason: 1
du benötigst noch den Unterordner "libraries" -> //Dokumente/Arduino/libraries/IRremote

qualidat

Ok, habe ich erstellt und die Libs dorthin verschoben. Nun kommen andere Fehlermeldungen, die ich nicht verstehe:

Quote

IRremote/IRremote.cpp.o: In function `MATCH(int, int)':
/Users/frank/Documents/Arduino/libraries/IRremote/IRremoteInt.h:172: multiple definition of `MATCH(int, int)'
IRremote.cpp.o:/Users/frank/Documents/Arduino/libraries/IRremote/IRremoteInt.h:172: first defined here
IRremote/IRremote.cpp.o: In function `MATCH_MARK(int, int)':
/Users/frank/Documents/Arduino/libraries/IRremote/IRremoteInt.h:173: multiple definition of `MATCH_MARK(int, int)'
IRremote.cpp.o:/Users/frank/Documents/Arduino/libraries/IRremote/IRremoteInt.h:173: first defined here
IRremote/IRremote.cpp.o: In function `MATCH_SPACE(int, int)':
/Users/frank/Documents/Arduino/libraries/IRremote/IRremoteInt.h:174: multiple definition of `MATCH_SPACE(int, int)'
IRremote.cpp.o:/Users/frank/Documents/Arduino/libraries/IRremote/IRremoteInt.h:174: first defined here


Erbitte Hilfe ... Danke.

fckw

mit der IDE Version 1.0.1 scheint die library noch zu funktionieren, warum es mit 1.0.3 nicht geht, weiß ich aber auch nicht.

michael_x

Quote
IRremote.ino (war vorher IRtest aus dem Examples-Ordner).


Schmeiss mal alles runter, installier wie vorgesehen, starte die IDE neu und krieg das Example wie vorgesehen zum Laufen.
Danach kannst du immer noch Dateien verschieben und umbenennen, bis du die IDE wieder verwirrt hast..

qualidat

Quote
installier wie vorgesehen


Ähm ... klingt vielleicht jetzt blöd, aber wie ist es denn vorgesehen?

Wenn ich das Zip-File auspacke, erhalte ich folgende Struktur:

- Ordner Examples
- IRremote.cpp
- IRremote.h
- IRremoteInt.h
- keywords.txt
- LICENSE.txt

... und nun?

fckw

#6
Jan 30, 2013, 09:13 pm Last Edit: Jan 30, 2013, 09:16 pm by fckw Reason: 1
ja nur entpacken und den Ordner dann ins library verzeichnis schieben.

Edit: es läuft auch mit der aktuellen ide.

qualidat

Quote
ja nur entpacken und den Ordner dann ins library verzeichnis schieben.


Ok, ufff ... das war eine schwere Geburt. Also habe ich den Ordner mit dem ganzen zusätzlichen "Gemülle" nach "libraries" kopiert, dann daraus eines der Beispiele geöffnet und gleich wieder gesichert. Dabei entsteht ein neuer Ordner mit dem Namen der Beispieldatei. Und siehe da ... es lässt sich ohne Fehlermelungen compilieren. Gut, aber wer hat sich sowas ausgedacht ... Danke!

Go Up