c++ - 未定义对 PQfinish 的引用,即使包含库等

标签 c++ postgresql g++ libpq

<分区>

我正在尝试使用 libpq 编译 C++ 应用程序。 在我的 Debian 上,它可以使用以下命令进行编译:

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

在我的 Ubuntu 上,我收到以下错误:

undefined reference to 'PQfinish'

我包含了指向 postgresql 头文件和库的链接并使用了 -lpq。我错过了什么?

最佳答案

-lpq移动到命令行的末尾。

链接是按照指定的顺序完成的,只有在需要它们来解析符号时才会从库中获取对象。因此每个库都必须跟在任何其他需要它的对象之后。

关于c++ - 未定义对 PQfinish 的引用,即使包含库等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27144588/

相关文章:

c++ - 通用类型的 gcnew 运算符

PostgreSQL PITR 无法正常工作

g++ : error: cannot convert ‘time_t*’ to ‘void**’ for argument ‘3’ to ‘int timer_create(clockid_t, sigevent*, void**)’ 编译错误

gcc - 静态链接到动态库。 glibc

c++ - OpenCL segfaults 但给 GDB 不同的错误

c++ - CBT Hook 仅接收一些事件

postgresql pgsql动态网页链接

sql - postgresql 列出服务器内的所有表字段信息

c++ - VS 代码 C++ : inaccurate system includePath errors (wchar. h,boost/lambda/lambda.hpp)

c++ - c模板函数参数类型的选择