kann nicht finden, Bibliothek-Dateien in eclipse-cdt
Eigenschaften/C/C++ Build/Settings
GCC C++ Linker/Libraries
Unter " libraries(-ich) ich habe
libbost_system
libbost_filesystem
...
und unter " Library search path(-L) ich habe
/home/etobkru/boost_1_43_0/boostBinaries/lib
aber wenn ich compile bekomme ich
g++ -L/home/etobkru/boost_1_43_0/boostBinaries/lib/-o"searchDirs" ./main.o -llibboost_system -llibboost_filesystem -llibboost_regex
/usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-linux/bin/ld: nicht finden können -llibboost_system
Ich habe versucht mit libbost_system.so und libbost_system.aber ich bekomme den gleichen Fehler. Was mache ich falsch und warum kann eclipse die Dateien finden. Weil Sie da sind?
InformationsquelleAutor hidayat | 2010-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie nicht den "lib" - Teil im Namen. Einfach ein link mit
InformationsquelleAutor Troubadour
Ich denke, das ist ähnlich wie /usr/bin/ld: cannot find -llibeststring.ein
Haben Sie versucht
-lboost_system
? Die-l
option nicht zu erwarten, dass die führenden lib oder die nachfolgende.a
oder.so
.InformationsquelleAutor Mark B
Ich weiß, es ist ein wenig, nach der Tat, aber man kann versuchen -l:libbost_system.so und es wird sich für eine Bibliothek mit genau diesem Namen.
InformationsquelleAutor JnBrymn
Eigentlich nach viel Frust habe ich beschlossen, Lesen Sie die man-Seite für ld!
l namespec
--library=namespec
Fügen Sie den Archiv-oder Objekt-Datei angegeben durch namespec, um die Liste der Dateien zu verknüpfen. Diese option kann verwendet werden, eine beliebige Anzahl von Zeiten. Wenn namespec ist von der form :Dateiname, ld wird die Suche in der Mediathek-Pfad für eine Datei mit dem Namen Dateiname, andernfalls wird die Suche in der Mediathek-Pfad für eine Datei namens libnamespec.ein.
da meine bestimmten Bibliothek war etwas entlang der Linien von myfoobar.dll nichts funktionierte, bis ich erkannte, dass ich wollte, ld, um die tatsächlichen Dateinamen. Wie andere schon geschrieben mit screenshots, wie Sie die Bibliothek dem linker alle ich tun musste, war zu ändern 'myfoobar' in das Feld ':myfoobar.dll " und es hat gut funktioniert.
Sollten Sie mit dem ':' wird, um wirklich spezifisch auf den Dateinamen zu suchen, und bleiben Sie Weg von den Standard-Dateinamen Formatierung erwartet wird, ohne es. Hoffe, das erleichtert frustration.
Krusty,
InformationsquelleAutor Code Krusty