2 Stimmen

Undefinierter Verweis auf PQfinish, obwohl Bibliotheken usw. eingebunden sind

Ich versuche, eine C++-Anwendung mit libpq zu kompilieren. Auf meinem Debian-System kompiliert es problemlos mit dem folgenden Befehl:

g++ -I /usr/include/postgresql/ -L /usr/lib/postgresql/9.3/lib/ -lpq -o test test.cpp

Auf meinem Ubuntu erhalte ich den folgenden Fehler:

undefined reference to 'PQfinish'

Ich habe den Link zu den PostgreSQL-Header-Dateien und Bibliotheken hinzugefügt und -lpq verwendet. Was fehlt mir?

7voto

Mike Seymour Punkte 242473

Verschiebe -lpq ans Ende der Befehlszeile.

Das Verknüpfen erfolgt in der angegebenen Reihenfolge und Objekte werden nur aus Bibliotheken übernommen, wenn sie benötigt werden, um Symbole zu lösen. Jede Bibliothek muss also nach jedem anderen Objekt kommen, das sie benötigt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X