EMBITZ math.h

Gast #6175560
Hallo Zusammen,

ich verwende embitz als IDE und habe die math.h eingebunden. Wenn ich 
z.B. sin verwende dann bekomme ich die Fehlermeldung undefined reference 
to sin. Ich habe einige Artikel zum gcc gefunden mit dem Hinweis im 
Linker die option -LM zu verwenden. Wo zum Teufel macht man das in 
embitz ?

Hoffe jemand ist schon einmal dagegen gerannt.

Besten Dank
Gast
Max schrieb:
> Hoffe jemand ist schon einmal dagegen gerannt.

Wenn ich in einem existierenden Embitz Projekt (F407) mit
1
#include <math.h>

die Header-Datei hereinziehe und einen Sinus berechnen
lasse geht das ohne weitere Mühen bzw Fehlermeldungen.

Deswegen schlage ich vor du baust ein Minimal-Projekt und
postest das hier, dann kann man sehen was schief läuft.
Gast
Hat ein bischen gedauert. Ich habe das Ganze mal auf eine "main" 
reduziert und damit kann man den Fehler sehen. Test Programm im Anhang.

Es geht um folgende Berechnung / code
1
    for (int i = 0; i < 320; i++) {                                       // Sinus zeichnen
2
        double s = SineAmplitude * sin ((long double) i / SineFrequency);
3
        printfTiny ("SINUS %i %i ", i, (int) s);
4
//        ILI9341_DrawPixel (i, 75 + (int) s ,YELLOW);
5
//        ILI9341_DrawPixel (i, 175 + (int) s ,GREEN);
6
    }

Wie man erahnen kann möchte ich einen Sinus auf einem Display zeichnen. 
Dieser Code funktioniert unter AVR Studio gcc einwandfrei. Hier unter 
EmBitz kommt es zum besagtem Fehler. Ich habe die Ausgabe hier auf die 
UART gemacht.

Wenn ein Beispiel Projekt gewünscht wird bitte sagen. Ich kann auch 
gleich das EmBitz Projekt hochladen (wenn man es braucht).
Angehängte Dateien:
Gast
>> Für ein printf bist du zu geizig, aber rechnest mit Long Double um es
>> dann nach int zu casten?

Hast du zur Lösung was beizutragen ? Das ist ein Beispiel.
Gast
Max schrieb:
> Doch, ich habe den Wizard verwendet und sehr wohl ein Device angelegt.

Hab mal ein leeres Projekt angelegt und deine Source main.c
hineinkopiert. Dann noch das -lm Flag gesetzt. Das lässt sich
dann einwandfrei compilieren.

An was es genau liegt weiss ich jetzt auch nicht ....

Das angehängte Projekt Empty_Project_F103C8T6.zip ist nun
verständlicherweise nun nicht ganz empty ....
Angehängte Dateien:
Gast
Danke Felix und Apprentice, jetzt geht es. Ich habe das -lm an die 
falsche Stelle getan. Danke für das Empty Projekt, damit war es dann 
klar wie es geht. Meinen Besten Dank nochmal.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.