Libpqxx抱怨缺少引用

Libpqxx complaining about missing references

本文关键字:引用 Libpqxx      更新时间:2023-10-16

所以我有以下问题:

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

所以如果我能得到任何帮助,那就太好了

>PQescapeIdentifier出现在PostgreSQL 9.0中,对应于libpq.so.5.3

9.0 发行说明有以下条目:

添加 libpq 函数 PQescapeLiteral() 和 PQescapeIdentifier() (Robert 哈斯)

您似乎使用了PostgreSQL-8.4(libpq.so.5.2)中的客户端库,这就是它缺少此功能的原因。