Forum: Compiler & IDEs Externe Library in gcc/Cube-IDE einbinden


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mike (Gast)


Lesenswert?

Hallo,

ich versuche gerade, die STemWin-Grafikbibliothek in ein 
CUBE-IDE-Projekt mit STM32F411 einzubinden. Da die Quellen nicht 
vollständig dabei sind, muss ich eine vorkompilierte Library verwenden.

Für den gcc scheint es die STemWinXY_CM4_GCC.a zu sein, ich habe also 
den Pfad und das File unter 
Project->Properties->C/C++Build->Settings->MCUGCC-Linker->Libraries 
eingegeben:

Libraries (-l)
STemWin532_CM4_GCC.a

Zusätzlich habe ich den Pfad noch angegeben:

Library Search Path (-L)
"${workspace_loc:/${ProjName}/STemWinLibrary532/Lib}"

Der Linker quittiert mir das mit:
ld.exe: cannot find -lSTemWin532_CM4_GCC.a

Ich habe es noch mit dem absoluten Pfad probiert, mal mit, mal ohne 
Anführungszeichen, mit dem gleichen Fehler.

Gibt es bei den Pfadangaben vielleicht eine bestimmte Schreibweise zu 
beachten?

von Harry L. (mysth)


Lesenswert?

Du musst das Library unter
Propertiess/C/C++ Build/Settings/MCU GCC Linker/Miscellanious/Additional 
ObjectFiles
eintragen.

von Mike (Gast)


Lesenswert?

OK, jetzt geht es: Man muss den Dateinamen noch ein lib.. voranstellen. 
Warum liefert STM die Bibliotheken nicht gleich mit dem richtigen Namen 
aus?

von Harry L. (mysth)


Lesenswert?

Mike schrieb:
> OK, jetzt geht es: Man muss den Dateinamen noch ein lib.. voranstellen.
> Warum liefert STM die Bibliotheken nicht gleich mit dem richtigen Namen
> aus?
Du musst das nicht umbenennen, wenn du das wie oben beschrieben machst.

von Marcin (Gast)


Lesenswert?

gcc linker nimt auch -l:STemWin532_CM4_GCC.a
doppelpunkt : bedeuted der genaue Bibliothekname (ohne lib am Anfang und 
.a extension)
Umbenennung nicht notwendig, nur mit -L Pfad zeigen

Marcin

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.