This question already has answers here:
Why does the order in which libraries are linked sometimes cause errors in GCC?
(9个答案)
6年前关闭。
我正在尝试使用libpq编译C++应用程序。
在我的Debian上,可以使用以下命令进行编译:
在我的Ubuntu上,出现以下错误:
我提供了指向postgresql header 和库的链接,并使用了-lpq。我想念什么?
(9个答案)
6年前关闭。
我正在尝试使用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 header 和库的链接,并使用了-lpq。我想念什么?
最佳答案
将-lpq
移动到命令行末尾。
链接按指定的顺序完成,并且仅在需要解析对象符号时才从库中获取对象。因此,每个库都必须追随需要它的任何其他对象。
关于c++ - 即使包含库等,也未定义对PQfinish的引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27144588/
10-11 00:39