mikrocontroller.net

Forum: Compiler & IDEs AVR-Studio Header-Dateien inluden


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab ein Problem mit meinem AVR-Stutio. Und zwar habe ich eine .c
Datei und dazu eine Headerdatei geschrieben, deren Funktionen ich jetzt
in einem anderen Programm verwenden will. In der Header Datei sind die
Prototypen der Funktionen mit extern deklariert. die Headerdatei ist in
das neue Projekt mit
#inlcude "xy.h"
eingebunden. Leider kann ich jetzt trotzdem nicht auf die gewünschten
Funktionen zugreifen und erhalte statt dessen die Fehlermeldung:
../neu.c/:43: undefined reference to 'funktionx'
Muss ich irgendo im AVR Studio noch angeben wo die c-Datei ist oder wo
liegt der Fehler?

Vielen Dank schon mal

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Headerdatei verkündet nur die Deklarationen.  Der Linker
muss aber letztlich auch die Definition finden.  Du musst ihm
also sagen, dass er beide C-Dateien compilieren und das
Ergebnis gemeinsam linken soll.

Wie man das im AVR Studio sagt, müssen dir aber andere Leute
erzählen, ich hab' kein Windows (und will keins haben).

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist aber ganz simpel.

Du klickst links in der Menuestruktur auf 'Source Files'.
Rechte Maustaste: Im Pop-Down Menue waehlst Du 'Add existing
Source File(s)' und zeigst ihm die C-Datei.
Selbiges kannst Du auch noch mit dem Header machen:
Auf 'Header Files' mit der rechten Maustaste klicken, 'Add existing
Header File(s)', die Datei zeigen und fertig.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke euch beiden, so hats geklappt. Ich habe immer nach einem Befehl
gesucht mit dem man den Compiler dazu bringt die andere Datei zu
kompilieren, und habe das nahe liegendste wohl übersehen.

Autor: Michael Klaube (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wieso deklarierst du die Funktionen als extern?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.