Hallo. Ich muss unter KDevelop eine Bibliothek("/home/alpignolo/cpp/graphpartitioningproblems/src/qsopt/qsopt.a") in mein Projekt einbinden. Habe folgendes getan: im Automake-Manager unter Einstellungen -> Tab Bibliotheken -l"/home/alpignolo/cpp/graphpartitioningproblems/src/qsopt/" (abs. Pfad) hinzugefügt. Aber: //////////////////////// Linken der Datei graphpartitioningproblems (g++) */usr/lib/gcc-lib/i586-suse-linux/3.3.3/../../../../i586-suse-linux/bin/ld: cannot find -l/home/alpignolo/cpp/graphpartitioningproblems/src/qsopt *collect2: ld returned 1 exit status *gmake[2]: *** [graphpartitioningproblems] Fehler 1 *gmake[2]: Das Target »all« wurde wegen Fehlern nicht aktualisiert. *gmake[1]: *** [all-recursive] Fehler 1 *gmake: *** [all] Fehler 2 **** Beendet mit Status: 2 *** ////////////////////////// Nach vielem "Rumprobieren" krieg ich's leider nicht hin. Für Hinweise dankbar: A.Tomazic
On Monday 06 December 2004 23:15, Alessandro Tomazic wrote:
Bibliothek("/home/alpignolo/cpp/graphpartitioningproblems/src/qsopt/qsopt.a ") in mein Projekt einbinden. Habe folgendes getan: im Automake-Manager unter Einstellungen -> Tab Bibliotheken -l"/home/alpignolo/cpp/graphpartitioningproblems/src/qsopt/" (abs. Pfad) hinzugefügt.
Eigentlich sollte eine Lib mit "lib" beginnen - also etwa "libqsopt.a".
Dann macht man das so:
-L /home/alpignolo/cpp/graphpartitioningproblems/src/qsopt -l qsopt
Das "-L" gibt den Pfad an, das "-l" den Lib-Namen - ohne führendes "lib" und
ohne Extension (".a", ".so", ".so.*").
Wenn Du den Namen qsopt.a behalten willst oder mußt, kannst Du nicht "-l"
verwenden, dann linkst Du es einfach so dazu:
ld main.o sonstwas.o /home/.../qsopt/qsopt.a
Ich würde aber den anderen Weg (s.o.) empfehlen.
CU
--
Stefan Hundhammer
Hallo Stefan. Vielen Dank, mit dieser Information komme ich zurecht. mfg Alessandro Am Dienstag, 7. Dezember 2004 11:41 schrieb Stefan Hundhammer:
On Monday 06 December 2004 23:15, Alessandro Tomazic wrote:
Bibliothek("/home/alpignolo/cpp/graphpartitioningproblems/src/qso pt/qsopt.a ") in mein Projekt einbinden. Habe folgendes getan: im Automake-Manager unter Einstellungen -> Tab Bibliotheken -l"/home/alpignolo/cpp/graphpartitioningproblems/src/qsopt/" (abs. Pfad) hinzugefügt.
Eigentlich sollte eine Lib mit "lib" beginnen - also etwa "libqsopt.a". Dann macht man das so:
-L /home/alpignolo/cpp/graphpartitioningproblems/src/qsopt -l qsopt
Das "-L" gibt den Pfad an, das "-l" den Lib-Namen - ohne führendes "lib" und ohne Extension (".a", ".so", ".so.*").
Wenn Du den Namen qsopt.a behalten willst oder mußt, kannst Du nicht "-l" verwenden, dann linkst Du es einfach so dazu:
ld main.o sonstwas.o /home/.../qsopt/qsopt.a
Ich würde aber den anderen Weg (s.o.) empfehlen.
CU -- Stefan Hundhammer
Penguin by conviction. YaST2 Development SUSE Linux Products GmbH Nuernberg, Germany
participants (2)
-
Alessandro Tomazic
-
Stefan Hundhammer