Hallo zusammen ich sollte ein Objektfile mit der Endung .a mein winavr projekt einbinden. Kann mir jemand erklären, ob und wie das funktioniert? Besten Dank
Eine Datei mit der Endung ".a" klingt schwer nach einer Library. Hast Du das Passende Headerfile? Ja: Vermutlich heißt die Datei "lib<xyz>.a", und kann dann im Makefile unter LDFLAGS (falls Du das Template von MFile verwendest) per ",-l<xyz>" (ACHTUNG: ohne "lib" und ohne Endung) dem Linker bekannt gemacht werden. Nein: Besorge Dir das Headerfile und gehe zu "Ja:". Ohne Headerfile wirst Du wohl kaum die Chance haben, die Funktionen innerhalb der Library nutzen zu können (Du kennst die Prototypen ja nicht und das passt dem Compiler genauso wenig ;).
Danke für deine Hilfe ja, ich habe das Headerfile. Jetzt bin ich aber noch mit dem MFile überfordert. Wie muss ich das genau dem Linker bekanntgeben? Die a-Datei heisst: libUSBP_StandAlone. und das Headerfile: USBP_standalone_lib_compile.h muss ich das im folgenden Teil im MFile angeben und wenn ja wie? #---------------- Linker Options ---------------- # -Wl,...: tell GCC to pass this to linker. # -Map: create map file # --cref: add cross reference to map file LDFLAGS = -Wl,-Map=$(TARGET).map,--cref LDFLAGS += $(EXTMEMOPTS) LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
Hi! Ganz einfach: LDFLAGS = -Wl,-Map=$(TARGET).map,--cref,-L.,-lUSBP_StandAlone Zu den Parametern: -L. erweitert den Librarysuchpfad um das aktuelle Verzeichnis und -lUSBP_StandAlone fügt die Library "libUSBP_StandAlone.a" der Liste der zu verwendenden Libs hinzu...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.