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!
Christoph P. schrieb: > 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. Pfade zu lang, Sonderzeichen oder Umlaute drin?
>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
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.ä.?
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
>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
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!
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.