gpt4 book ai didi

c++ - 无法在 MinGW 中链接 libpqxx

转载 作者:行者123 更新时间:2023-11-28 03:59:52 26 4
gpt4 key购买 nike

我使用 MSYS 编译了 libpq(来自编译 postgres)。然后我编译了 libpqxx。现在,我想创建一个将使用 libpqxx 的客户端。 libpq 似乎工作正常。而且,我可以使用 libpqxx 编译代码。但是,链接 libpq 客户端应用程序失败。

这是我的代码:


#include <pqxx/pqxx>
#include <iostream>
using namespace std;
using namespace pqxx;

int main() {
connection Conn("dbname=test");
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}

我在链接中添加了一堆库,徒劳地希望它能突然起作用。这是我到目前为止所拥有的:

g++ -IC:\msys\1.0\local\pgsql\include -IC:\msys\1.0\local\include -O0 -g3 -Wall -c -fmessage-length=0 -osrc\Controller.o ..\src\Controller.cppg++ -LC:\MinGW\lib -LC:\msys\1.0\local\pgsql\lib -LC:\msys\1.0\local\lib -oController.exe src\Controller.o -lws2_32 -lole32 -lpqxx -lpq -loleaut32 -luuidC:\msys\1.0\local\lib/libpqxx.a(connection_base.o): In function `ZN45_GLOBAL__N__ZN4pqxx16encrypt_passwordERKSsS1_7wait_fdEibP7timeval':C:/msys/1.0/home/rsolomon/libpqxx/libpqxx-3.0.2/src/connection_base.cxx:1434: undefined reference to `select@20'C:\msys\1.0\local\lib/libpqxx.a(connection_base.o): In function `ZN4pqxx15connection_base12check_resultERKNS_6resultE':C:/msys/1.0/home/rsolomon/libpqxx/libpqxx-3.0.2/src/connection_base.cxx:420: undefined reference to `select@20'collect2: ld returned 1 exit statusBuild error occurred, build is stoppedTime consumed: 1770  ms.  

我认为 -lws2_32 应该给我“select@20”。为什么链接器这么傲慢?

最佳答案

Unix 链接器传统上从左到右处理库。所以先考虑ws2_32,发现用处不大,再继续pqxx,发现select是undefined,没有被后面的任何一个库定义。 IOW,尝试将 ws2_32 移动到命令行的末尾。

关于c++ - 无法在 MinGW 中链接 libpqxx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1365662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com