[ gelöst ]ld: Undefined symbols:
-
hast du auch alles richtig gemacht ?
die datei doc/INSTALL richtig gelesen und befolgt ?
-
ja die hab ich gelesen und alles dementsprechend befolgt.
aber irgendwo happerts einfach immer noch!
-
vielleicht hast du ein nightly-build-snap erwischt und keine stable version ?
-
vittel schrieb:
ja die hab ich gelesen und alles dementsprechend befolgt.
aber irgendwo happerts einfach immer noch!das habe ich auch mal gedacht und trotzdem wollten die bibliotheken nicht laufen.
es kommt aber tatsächlich mal vor, das eine bibliothek fehlerhaft ist.am besten probierst du die library noch einmal aufzubauen. wenns immer noch nicht geht, poste die fehlermeldung dem maintainer. oder probier ne andere bibli.
-
wie gesagt ich bin ein anfänger bezgl. c - programmierung.
daher jetzt vielleicht ein blöde frage.aber wie muss ich das ganze kompilieren.
ich will am schluss ein command line tool. also versuch ich das ganze als exectuble - was nicht klappt.wechsle ich aber auf static library so kompiliert das ganze - natürlich kann ichs dann nicht ausführen.
shared library kompiliert auch nicht.
aber wie gesagt eigentlich will ich eine ausführbare datei!
( verwende eclipse / cdt )
-
vittel schrieb:
wechsle ich aber auf static library so kompiliert das ganze - natürlich kann ichs dann nicht ausführen.
dann mach dir doch ein progrämmchen, das diese library benutzt d.h. hinzulinkt.
-
und wie genau funktioniert das mit den dynamischen bibliotheken? es existiert eine bibliothek libnetpbm.dylib - ich geh mal davon aus das meine gesuchten funktionen da drin sind.
allerdings greift er wohl nicht darauf zu wenn ich -L/opt/local/lib setze.
und wenn ich explizit darauf verweise -l/opt/local/lib/libnetpbm.dylib findet er das file nicht!warum geht das nicht? oder warum darf die library nicht dynamisch sein.
( wie gesagt, bin anfänger)
**** Build of configuration Debug for project test2 ****
make all
Building target: libtest2.dylib
Invoking: MacOS X C Linker
gcc -nostartfiles -L/opt/local/lib -dynamiclib -o "libtest2.dylib" ./vrg.o -l/opt/local/lib/libnetpbm.dylib
/usr/libexec/gcc/i686-apple-darwin8/4.0.1/libtool: can't locate file for: -l/opt/local/lib/libnetpbm.dylib
/usr/libexec/gcc/i686-apple-darwin8/4.0.1/libtool: file: -l/opt/local/lib/libnetpbm.dylib is not an object file (not allowed in a library)
make: *** [libtest2.dylib] Error 1
-
ein simples -lNetpbm bringt alles zum laufen.
Nur wo steht davon was?
Prost!
-
vittel schrieb:
Nur wo steht davon was?
Vermutlich irgendwo im Kapitel "Grundlagen der Benutzung externer Bibliotheken" - ich finde jedenfalls, es muss nicht im Handbuch jeder Bibliothek gesondert erwähnt werden.
Ist nicht bös gemeint, aber das sind nunmal Grundlagen (weshalb mich erstaunt, dass der Vorschlag -lnetpbm - oder zumindest verbal "hast Du die Bibliothek eingebunden" - in zwei Seiten Thread nicht einmal gemacht wurde).
-
ich könnte jetzt noch ein 3. mal hier hinschreiben dass ich anfänger bin, aber das lass ich jetzt sein
bis anhin ging ich davon aus dass ich mit der pfadangabe bereits die bibliothek einbinde.