PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : eclipse - sloeber fehlermeldung vom compiler



inka
04.12.2016, 19:11
hallo allerseits,

kennt sich jemand mit der sloeber arduino eclipse aus?

ein code, der sich mit der arduino IDE problemlos compilieren lässt, bringt hier diese fehlermeldung:


Starting C++ compile
"/home/georg/Arduino/sloeber/arduinoPlugin/tools/arduino/avr-gcc/4.9.2-atmel3.5.3-arduino2/bin/avr-g++" -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10609 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I"/home/georg/Arduino/sloeber/arduinoPlugin/packages/arduino/hardware/avr/1.6.15/cores/arduino" -I"/home/georg/Arduino/sloeber/arduinoPlugin/packages/arduino/hardware/avr/1.6.15/variants/mega" -I"/home/georg/Arduino/sloeber/arduinoPlugin/packages/arduino/hardware/avr/1.6.15/libraries/Wire" -I"/home/georg/Arduino/sloeber/arduinoPlugin/packages/arduino/hardware/avr/1.6.15/libraries/Wire/src" -I"/home/georg/Arduino/libraries/CustomStepper" -I"/home/georg/Arduino/libraries/Arduino-IRremote-master" -I"/home/georg/Arduino/libraries/NewliquidCrystal" -I"/home/georg/Arduino/libraries/NewliquidCrystal/utility" -MMD -MP -MF".ino.cpp.d" -MT".ino.cpp.o" -D__IN_ECLIPSE__=1 -x c++ "../.ino.cpp" -o ".ino.cpp.o" -Wall
In file included from ../.ino.cpp:13:0:
/home/georg/Arduino/libraries/Arduino-IRremote-master/ir_Lego_PF_BitStreamEncoder.h: In member function 'int LegoPfBitStreamEncoder::getRepeatStopPause() const':
/home/georg/Arduino/libraries/Arduino-IRremote-master/ir_Lego_PF_BitStreamEncoder.h:107:38: warning: integer overflow in expression [-Woverflow]
return STOP_PAUSE_DURATION + 5 * MAX_MESSAGE_LENGTH - messageLength;
^
In file included from ../remote_FB_schwarz_switch_1_ohne_lib_kurzimpuls_dau er_bewegung.ino:18:0,
from ../.ino.cpp:26:
/home/georg/Arduino/libraries/Arduino-IRremote-master/ir_Lego_PF_BitStreamEncoder.h: At global scope:
/home/georg/Arduino/libraries/Arduino-IRremote-master/ir_Lego_PF_BitStreamEncoder.h:13:7: error: redefinition of 'class LegoPfBitStreamEncoder'
class LegoPfBitStreamEncoder {
^
In file included from ../.ino.cpp:13:0:
/home/georg/Arduino/libraries/Arduino-IRremote-master/ir_Lego_PF_BitStreamEncoder.h:13:7: error: previous definition of 'class LegoPfBitStreamEncoder'
class LegoPfBitStreamEncoder {
^
make: *** [.ino.cpp.o] Fehler 1

19:00:21 Build Finished (took 125ms)



hat jemand eine idee was das bedeutet?

Sisor
04.12.2016, 20:58
Mehrere Sachen:
1. Warnung bzgl. Integer Overflow: Beachte: Int-Wertebereich: -32,768 ... 32,767
der return-Wert in getRepeatStopPause() ist größer!
-> Konstanten ändern oder Datentyp ändern (z.B. long)

2. ir_Lego_PF_BitStreamEncoder.h:13:7: error: redefinition of 'class LegoPfBitStreamEncoder'
Neudefinition einer Klasse ist nicht erlaubt! Evtl. Include-Guard (https://de.wikipedia.org/wiki/Include-Guard) verwenden?

inka
04.12.2016, 22:02
hallo Sisor,
danke für die "Übersetzung" - wieso geht sowas bei der arduino IDE durch? Könnte es nicht einfach an der unterschiedlichen Fehlertoleranz in den einstellungen liegen?
gruss inka

Sisor
04.12.2016, 22:19
Es gibt genug Code, der das Überlaufen und wieder bei Null anfangen als Optimierung nutzt.
Ist doch nett, wenn der Compiler dich warnt, wenn da was "riecht".

inka
05.12.2016, 08:29
2. ir_Lego_PF_BitStreamEncoder.h:13:7: error: redefinition of 'class LegoPfBitStreamEncoder'
Neudefinition einer Klasse ist nicht erlaubt! Evtl. Include-Guard (https://de.wikipedia.org/wiki/Include-Guard) verwenden?

das war der entscheidender hinweis, danke...