INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Kompilierfehler "in Function fp_powsodd.o"
18.03.2015, 10:24
Beitrag #1
Kompilierfehler "in Function fp_powsodd.o"
Hallo.

Ich habe gerade ein Programm gemacht, dass die Sinusfunktion verwendet, aber irgendwie lässt es sich nicht kompilieren. Sad Es kommt immer diese Meldung:
Zitat:Compiling sketch...
Linking with core328.a...
c:/users/robat/documents/studium/bachelorarbeit/arduinouploader/bin/../lib/gcc/a
vr/4.3.2/../../../../avr/lib/avr5\libc.a(fp_powsodd.o): In function `__fp_powsod
d':
(.text.fplib+0x10): relocation truncated to fit: R_AVR_13_PCREL against symbol `
__mulsf3' defined in .text section in c:/users/robat/documents/studium/bachelora
rbeit/arduinouploader/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a(_mul_sf.o)
c:/users/robat/documents/studium/bachelorarbeit/arduinouploader/bin/../lib/gcc/a
vr/4.3.2/../../../../avr/lib/avr5\libc.a(fp_powsodd.o): In function `__fp_powsod
d':
(.text.fplib+0x20): relocation truncated to fit: R_AVR_13_PCREL against symbol `
__mulsf3' defined in .text section in c:/users/robat/documents/studium/bachelora
rbeit/arduinouploader/bin/../lib/gcc/avr/4.3.2/avr5\libgcc.a(_mul_sf.o)

Error occurred during compiliation
Der Programmcode:
Code:
float winkel=0;
int testi;
float testf;

float kurve() {
  float wert;
  winkel+=1;
  if(winkel>359) winkel=0;
  wert=sin(winkel*PI/180);
  return(wert*500);
}

void setup() {
  Serial.begin(9600);
}

void loop() {
testi=300;
testf=kurve();
if(testi<testf) Serial.println("Hallo Welt!");
}
Jetzt habe ich ja schon versucht, den Fehler durch's auskommentieren einzelner Zeilen eingrenzen zu können, aber irgendwie scheint eher ein Zusammenspiel mehrerer Zeilen für den Fehler verantwortlich zu sein:
Wenn ich zum Beispiel die Zeile mit dem Sinus-Aufruf lösche, lässt sich das Programm kompilieren, es kommt nur eine Warnung, dass wert nicht gesetzt wird. Ich kann aber z.B. auch die Zeile mit der if-Abfrage ganz unten löschen, dann geht es auch.
Woran liegt das? Ich verwende den ArduinoUploader 0.5.3.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2015, 10:43 (Dieser Beitrag wurde zuletzt bearbeitet: 18.03.2015 10:44 von HaWe.)
Beitrag #2
RE: Kompilierfehler "in Function fp_powsodd.o"
hallo,
ich habe deinen Code bei mir getestet (1.5.8), sowohl für Uno als auch für Mega, in beiden Fällen kein Compilierfehler.
Der Code ist also sauber (zumindest Plattform-abhängig).
Welche Sketch-Version verwendeset du?
Hast du eine halbwegs neue? (1.6.1 ist die allerneueste, die habe ich hier aber zur Zeit nicht verfügbar)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2015, 11:27
Beitrag #3
RE: Kompilierfehler "in Function fp_powsodd.o"
Hi.
Was meinst du mit Sketch-Version? Ich habe mir nur den ArduinoUploader runtergeladen und benutze den um Sketches, die ich mit dem Notepad schreibe zu kompilieren und und hochzuladen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2015, 11:38
Beitrag #4
RE: Kompilierfehler "in Function fp_powsodd.o"
Hi,
dann installiere Dir mal die richtige Arduino IDE (von arduino.cc). Die momentan aktuelle Version ist 1.6.1.
Alles andere ist fuer Anfaenger nicht wirklich geeignet.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2015, 15:55
Beitrag #5
RE: Kompilierfehler "in Function fp_powsodd.o"
Habe grade Arduino 1.6.1 installiert, damit lässt sich mein Sketch tatsächlich kompilieren.

Mein Problem ist jetzt folgendes: Ich habe mir den ArduinoUploader deshalb runtergeladen, weil man bei ihm direkt mit Kommandozeilenargumenten Dateien kompilieren und hochladen kann. Diese Funktion brauche ich, weil ich ein Konsolenprogramm in Basic geschrieben habe, dass Sketches erstellt.
Gibt es solche Funktionen bei Arduino 1.6.1 auch? Ansonsten könnte ich ja höchstens das generierte Sketch automatisch in Arduino öffnen und der Benutzer müsste den Rest in Arduino selbst machen. Nicht sehr elegant...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2015, 16:05
Beitrag #6
RE: Kompilierfehler "in Function fp_powsodd.o"
(18.03.2015 15:55)Threadbare schrieb:  Ich habe mir den ArduinoUploader deshalb runtergeladen, weil man bei ihm direkt mit Kommandozeilenargumenten Dateien kompilieren und hochladen kann. Diese Funktion brauche ich, weil ich ein Konsolenprogramm in Basic geschrieben habe, dass Sketches erstellt.
Wozu das denn?

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2015, 17:07
Beitrag #7
RE: Kompilierfehler "in Function fp_powsodd.o"
Naja einfach gesagt sind in meinem Basic-Programm bestimmte Sketches eingespeichert, die der Benutzer dann mit Hilfe einer grafischen Oberfläche nach seinen Bedürfnissen ändern kann. So können also dann auch Leute, die keine Ahnung von der verwendeten Programmiersprache haben verschiedene Sachen mit dem Arduino machen.

Gibt es bei Arduino 1.6.1 auch die Möglichkeit, die Kompilierung und Übertragung durch Befehlszeilenargumente direkt zu starten? In dem Arduino-Ordner sind ja auch eine ganze Menge andere EXE-Dateien dabei. Kann man mit denen vielleicht irgendwie die Kompilierung und Übertragung direkt starten?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2015, 17:53
Beitrag #8
RE: Kompilierfehler "in Function fp_powsodd.o"
Hi,
bis 1.5.6 gibt es ein Makefile und make.exe. Die Eclipse-Integration benutzt das.
Ansonsten hast Du halt das Problemchen, dass die Arduino-Oberflaeche die benoetigten Libs "intelligent" an den includierten Header-Files erkennt. Vielleicht kannst Du in Deiner Kommandozeilenversion ja auch irgendwie die benoetigten Libs vorkompilieren und das ganze dann zusammenlinken.
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste