Gast
#237117
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
|
Anzeige
|
objektcode in winavr einbinden
Gast
#237117
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 ;).
Gast
#237119
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...
Gast
#237121
vielen dank das werde ich mal ausprobieren Antwort schreiben |
Anzeige
|