Problem beim einfügen von .a-Datein aus Library im AVRStudio

OP #1262103
Lesenswert?

Hallo zusammen!
Ich habe folgendes kleines Problem: Beim Versuch verschiedene .a-Datein 
aus einer Bibliothek ins Projekt einzufügen, bekomme ich den Error, dass 
die betreffenden Datein nicht zu finden seien. Bei anderen gibt es 
wiederrum keine Probleme.

"d:/programme/winavr-20081205/bin/../lib/gcc/avr/4.3.2/../../../../avr/b 
in/ld.exe:  cannot find -l-llibConfigServer"

Allerdings sind Bibliothekspfade und Objektnamen 100x überprüft wurden 
und stimmen. Komisch ist nur, dass die Pfade in den Configuration 
Options nach dem Eingeben und Bestätigen zum Teil nachträglich wie "von 
Geisterhand" doppelt eingetragen sind.

Hab weder hier noch woanders irgend nen Hinweis auf nen denkbaren Fehler 
gefunden oder nen AVRStudio-Bug.

Vielleicht weiß ja jemand weiter. Danke!
Gast #1262141
Lesenswert?

>Allerdings sind Bibliothekspfade und Objektnamen 100x überprüft wurden
>und stimmen.

-l-llibConfigServer sieht komisch aus. Verdammt viele l's. Und -l- kennt 
zumindest meine Doku nicht als gültige Option. Das sieht aus, als ob da 
ein -l zuviel ist.

Die Namenskonvention besagt ausserdem, daß die Datei für 
-llibConfigServer liblibConfigServer.a heißen muß. Heißt die auch so?

Oliver
OP #1262178
Lesenswert?

Also an den Pfaden liegt es nicht, die Namenskonvention wurde auch 
eingehalten.
Der Hinweis mit dem doppelten -l ist aber schon mal richtig. Eine Datei 
davor wird scheinbar gar nicht erst "angenommen". Im makefile steht sie 
nämlich nicht drin. Dadurch das leere -l. Sehr komische Sache. Eine 
andere Datei aus dem selben Ordner wird nämlich eingefügt. Das versteh 
ich wirklich nicht.
Noch eine andere Frage: Werden für .o-Datein auch die Bibliothekspfade 
von LIBDIRS verwendet und durchsucht, oder gibt es da noch etwas wie 
OBJDIRS o.ä.?
Persönliche Seite #1262741
Lesenswert?

Pfade, in denen nach Libs gesucht wird, werden mit -L angegeben, und es 
gibt eine Umgebungsvariable LD_LIBRARY_PATH.

Zeug wie OBJDIRS entspringen einzig und allein deinem Makefile, mit dem 
Linker selbst hat das zunächst überhauptnix zu tun.

Um Fehler im Makefile auszuschliessen, mache also den Aufruf des 
Linklaufs direkt von der Shell aus.

Bisher war dieser Aufruf hier noch nicht zu sehen.

Johann
Gast #1262791
Lesenswert?

>Um Fehler im Makefile auszuschliessen, mache also den Aufruf des
>Linklaufs direkt von der Shell aus.

Die AVR-Studio das makefiles sind i.d.R. in Ordnung, das da der Eintrag 
einer lib fehlt, ist ja schon geklärt.

Wenn gar nichts geht, nimm halt das vom Studio erzeugte makefile, nenn 
es um, trag die fehlende lib per hand nach, und definiere das makefile 
für das Projekt als externes makefile.

Wie heisst denn die lib, die da nicht eingetragen wird?

Oliver
OP #1263513
Lesenswert?

So, ich danke euch erstmal für die Hilfe!
Ich hab mir jetzt ein wenig den Rat von Oliver zu Herzen genommen. Zwar 
hat die das Anpassen des makefiles per Hand auch nicht den gewünschten 
Erfolg gebracht, aber dafür das Verwenden eines makefiles eines 
Projektes, welches die selben Bibliotheken benutzt. Nun bin ich zwar 
immernoch nicht schlauer wo der Fehler lag, aber ein vorgefertigtes und 
funktionierendes make samt configuration lässt sich natürlich wesentlich 
einfacher auf seine Bedürfnisse anpassen :)
Also, nochmal vielen Dank für eure Mühe!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren