[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: libpqxx - Beispiel "test001.cxx" lässt sich nicht kompilieren (bzw. linken)



On 07.03.06 18:47:31, Mag. Leonhard Landrock wrote:
> Am Montag, 6. März 2006 23:45 schrieb Andreas Pakulat:
> > On 06.03.06 23:24:31, Mag. Leonhard Landrock wrote:
> > > Ich habe mir heute die libpqxx näher ansehen wollen, und bin dabei auf
> > > folgendes Problem gestoßen:
> > >
> > > leo@veneto:~/C++/Postgresql Beispiele$ g++ test001.cxx
> > > /tmp/cc54Du46.o: In function `main':test001.cxx:(.text+0x2c): undefined
> > > reference to `pqxx::connection::connection()'
> >
> > Du musst die pqxx Bibliothek schon beim Kompilieren mit einlinken, sonst
> > findet er die Funktionen die darin definiert sind nicht.
> >
> > Also: gcc test001.cxx -lpqxx
> 
> OK. Danke. Bin einfach in der Annahme gewesen, dass ich nur die Header Dateien 
> benötige bzw. das mit der Installation des Pakets dem Linker mitgeteilt wird 
> wo er nach der libpqxx suchen muss.

Nee, sowas klappt nur bei Java bzw. Python. Bei C++ musst du dem Linker
sagen welche libaries er dazulinken soll. Deswegen gibts ja so Dinge wie
Makefiles, damit man nicht so viel schreiben muss...

> > > Habe mir dann gedacht "OK, hast etwas übersehen." und den Quellcode in
> > > ein neues KDevelop Projekt kopiert.
> > >
> > > Geht dort aber auch nicht.
> >
> > Natuerlich nicht. Woher soll kdevelop denn wissen das du die libpqxx
> > mit einlinken musst?
> 
> Zauberei. :-) Nein, im ernst, ich hatte einfach gehofft, dass ich irgendeine 
> dumme Kleinigkeit übersehen hätte. Irgendwie ist das wohl auch zutreffend.

Du haettest auch kdevelop sagen muessen dass du die libpqxx brauchst,
wie das genau geht haengt vom Projekttyp ab und da kenn ich mich auch
nicht so aus.

> > Ach und schliesslich ist das ganze hier eigentlich OT, auch wenn du das
> > libpqxx Paket aus Debian installiert hast. Dein Problem hat 0 mit Debian
> > zu tun.
> 
> Tschuldigung wegen dem "off topic". War keine Absicht, sondern einfach nur die 
> Müdigkeit. Hätte mir klar sein müssen, dass ich in den Betreff ein "OT" 
> einfügen müsste.

Na vor allem auf ner anderen ML/NG posten...

> > Wenn du weiter mit C++ experimentieren willst rate ich dir eine NG oder
> > ML dafuer zu suchen.
> 
> Der Tipp mit der mailing list gefällt mir. Werde mich noch heute auf die Suche 
> begeben.

Die NG de.comp.lang.iso-c++ finde ich ganz hilfreich bei allgemeinen C++
Fragen.

Andreas

-- 
You will attract cultured and artistic people to your home.



Reply to: