所以我有以下问题:
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所以如果我能得到任何帮助那就太好了
发布于 2013-02-01 00:45:57
PQescapeIdentifier出现在PostgreSQL 9.0中,对应于libpq.so.5.3
9.0 release notes有以下条目:
添加libpq函数PQescapeLiteral()和PQescapeIdentifier() (Robert Haas)
您似乎使用的是PostgreSQL-8.4 (libpq.so.5.2)的客户端库,这就是它缺少此功能的原因。
https://stackoverflow.com/questions/14629962
复制相似问题