3

だから私は次の問題があります:

g++ -std=c++0x -O3 -I/usr/include/scip main.cpp locations/locationreader.cpp locations/locationassigner.cpp scheduler.o optimizer.o dbmanager.o scheduleData.o exam.o  -o main -L/usr/lib -lscip  -lreadline  -lgmp -lz -llpispx  -lsoplex  -lobjscip -lnlpi.cppad -lscipopt -lzimpl -lpqxx -lpq  -pthread
/usr/lib/../lib64/libpqxx.so: undefined reference to `PQescapeIdentifier'
collect2: error: ld returned 1 exit status
make: *** [main] Error 1

そして、libpqがインストールされていて、/usr/lib64にあるため、参照が見つからない理由がわかりません

$ ls | grep pq
libpq.so
libpq.so.5
libpq.so.5.2
libpqxx-4.0.so
libpqxx.so

だから、私がこれについて何か助けを得ることができれば、それは素晴らしいことです

4

1 に答える 1

6

PQescapeIdentifierに対応する PostgreSQL 9.0 で登場しました。libpq.so.5.3

9.0のリリース ノートには次のエントリがあります。

libpq 関数 PQescapeLiteral() と PQescapeIdentifier() を追加しました。 (Robert Haas)

PostgreSQL-8.4 ( libpq.so.5.2) のクライアント ライブラリを使用しているようです。そのため、この機能がありません。

于 2013-01-31T16:45:56.677 に答える