Forum: Compiler & IDEs Atmel Studio 7 Library importieren


von Felix (Gast)


Lesenswert?

Hallo,

ich würde gerne die UART-Library von Peter Fleury in Atmel Studio 7 
einbinden. Muss ich die Library für jedes neue Programm neu einbinden 
oder reicht es, wenn ich es einmal einrichte. Meine nächste Frage währe 
dann, wie ich die Library korrekt einbinde. Wo muss ich die .h und .c 
Dateien speichern?

Hier ist die Seite auf der ich die Library heruntergeladen habe: 
http://homepage.hispeed.ch/peterfleury/avr-software.html

Hier die Dokumentation zur Library: 
http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__uart.html

Ich würde mich sehr über eure Hilfe freuen.

Gruß Felix

von --- (Gast)


Lesenswert?

Eine Library ist eine Datei die oft auf .lib endet und
mit ihren Headerfiles (*.h) daherkommt.

Die Library fasst die Objektdateien in ein einzelnes File
zusammen.

Wo du die Library speicherst ist eigentlich voellig egal,
solange du dem Compiler/Assembler den Pfad zum Verzeichnis
der Headerdateien, und dem Linker den Pfad zur Library mitteilst.

So wie bei jedem anderen C-Compiler auch.

Nur zum Debuggen ist/kann es noetig sein auch die Quellen
der Library dem Debugger bekannt zu machen.

Mir bekannte IDEs haben dafuer das Konzept eines
"Dependency Projects". Das heisst, das eigene Projekt
haengt von diesem "Dependency Project" ab, weil es
eben von dort das "eigentliche" Libraryfile refenziert.

Neu gebaut wird die Library nur, wenn sie noch nicht vorhanden ist.


Mit Atmels Bananenware habe ich aber, Gott sei es gedankt,
nichts zu tun.

Im uebrigen kann Mann natuerlich auch alle noetigen Parameter
dem Compiler/Linker-Frontend per Kommandozeile uebergeben.
Das solltest du vielleicht mal zuerst probieren um Klarheit
ueber die Funktion zu erlangen...

von Oliver S. (oliverso)


Lesenswert?

--- schrieb:
> Eine Library ist eine Datei die oft auf .lib endet und
> mit ihren Headerfiles (*.h) daherkommt.

So ist es. Und damit ist die Fleury lib keine lib. Das sind ganz normale 
Sourcedateien, die dem jeweiligen Projekt hinzugefügt werden müssen.

Oliver

von Felix (Gast)


Lesenswert?

Hallo,

danke für die Antworten. Das bedeutet jetzt, dass ich die in der Zip 
enthaltenen .c und .h Dateien an den selben Ort kopiere an dem auch 
meine main.c (oder wie auch immer mein C-Programm-File heißt) kopieren 
muss. Mit welchen befehl muss ich diese Dateien dann in meinem Programm 
importieren? mit #include <> ?

Gruß Felix

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die *.h-Datei bindest Du mit #include "datei.h" ein. Anführungszeichen, 
keine Spitzklammern!

Die *.c-Datei musst Du zu Deinem Projekt hinzufügen. Also entweder 
über die Oberfläche Deiner IDE, oder aber von Hand ins Makefile 
aufnehmen, sofern da eines ist, das von Hand gepflegt wird.

von Felix (Gast)


Lesenswert?

Hallo,

danke für die Hilfe. Ich werde es heute Abend wenn ich zu hause bin 
direkt mal Testen und mich gegebenenfalls nochmal melden.

Gruß Felix

von Felix (Gast)


Lesenswert?

Hallo,

ich habe das Programm und die Library gestern Abend noch zum laufen 
gebraucht. Danke für die Hilfe!

Gruß Felix

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.