【问题标题】:Error Using boost ASIO library compiled by Mingw 5.3 using QT使用由 Mingw 5.3 使用 QT 编译的 boost ASIO 库时出错
【发布时间】:2018-01-06 15:33:38
【问题描述】:

我使用Mingw 5.3编译boost库,QT5.10.0使用这个命令

bootstrap gcc
b2 toolset=gcc

然后我测试了它的一些库作为日期时间和文件系统,它工作正常。现在我想尝试使用网络库 asio,所以我使用 QT 链接该库,通过右键单击项目添加库 -> 添加库我添加那些

boost.regex
boost.system
boost.thread
boost.date_time

boost 文档中用于链接该库以使用 asio 库here 当我制作一个仅包含标题的简单 hello world 应用程序时出现此错误

#include <boost/asio.hpp>

当我编译时我得到了这个错误。

D:\Build\boost_1_66_0\stage\lib\libboost_system-mgw53-mt-x32-1_66.a(error_code.o):-1: error: duplicate section     `.rdata$_ZTIN5boost6system14error_category12std_categoryE[__ZTIN5boost6system14error_category12std_categoryE]' has different size

D:\Build\boost_1_66_0\stage\lib\libboost_system-mgw53-mt-x32-1_66.a(error_code.o):-1: error: duplicate section `.rdata$_ZTVN5boost6system14error_category12std_categoryE[__ZTVN5boost6system14error_category12std_categoryE]' has different size

: error: undefined reference to `_imp__WSACleanup@0'

: error: undefined reference to `_imp__WSAStartup@8'

: error: ld returned 1 exit status

在我使用 QT 附带的 Mingw 5.3.0 编译完 boost 库后,我也遇到了一些失败和跳过的问题。所以我不知道这些是否会影响我使用 asio 的构建,并且我单独测试每个库,例如日期和时间正则表达式以及需要系统库并且所有工作的文件系统。但是 boost 线程给了我重复部分的错误,比如上面的错误 提前致谢

【问题讨论】:

  • 你需要一些标点符号。没有它,您的帖子毫无意义。
  • 我想用这个标点符号来否决我的帖子帮助,或者如果没有不清楚的地方在评论中问我,以便我可以编辑我的帖子并清除它,谢谢

标签: c++ boost boost-asio mingw32


【解决方案1】:

您需要为 Windows 构建一些额外的库。
尝试将以下行添加到您的 .pro 文件中:

LIBS += -lgdi32
LIBS += -lwsock32
LIBS += -lws2_32

有几个.pro 文件在Windows 上构建boost asio HTTP 服务器和客户端,MinGw 5.3 来自Qt here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 1970-01-01
    相关资源
    最近更新 更多