错误使用由Mingw 5.3使用QT编译的boost ASIO库

时间:2018-01-06 15:33:39

标签: c++ boost boost-asio mingw32

我使用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,我会单独测试每个库,例如日期和时间正则表达式以及需要系统库的所有文件系统。但是提升线程给出了重复部分的错误,如上面的错误 提前致谢

1 个答案:

答案 0 :(得分:3)

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

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

.proboost asio个文件在Windows MinGw 5.3上构建了Qt个HTTP服务器和客户端Marker来自Callout here。< / p>