所以我有以下问题:
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 release notes有此条目:
Add libpq functions PQescapeLiteral() and PQescapeIdentifier() (Robert
Haas)
您似乎使用Postgresql-8.4(libpq.so.5.2)中的客户端库,这就是它缺少此功能的原因.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。