Adding results #include <boost / asio.hpp> leads to problems with "different sizes"

As writing (so far) a fairly simple C ++ application (in fact, I just started porting our application with Qt and replacing it mainly with boost), I met a "general" error as follows:

(trimmed path) \ libboost_system.a (error_code.o): duplicate section .rdata $ _ZTSN5boost12noncopyable_11noncopyableE [__ ZTSN5boost12noncopyable_11noncopyableE] has different sizes

(trimmed path) \ libboost_filesystem.a (codecvt_error_category.o): duplicated section .rdata $ _ZTSN5boost12noncopyable_11noncopyableE [__ ZTSN5boost12noncopyable_11noncopyableE] has different sizes

I obviously use library systems and file systems, and everything went smoothly so far when the asio header is enabled

#include <boost/asio.hpp>

due to this single line of code: return boost::asio::ip::host_name();

As I understood from the boosts documentation, asio is just a header library, and so I did not include another boost library, but libboost_system and libboost_filesystem started to cause these problems.

I am working on Win 7 using MinGW. I created all the accelerating libs in one shot, issuing the following two commands:

bootstrap mingw
b2 toolset=gcc

I used the same MinGW kit for him, as now, to create my application. And of course, I use these pre-built libraries to communicate with my application.

When I remove ASIO include, my build works again.

Please comment if I missed some important part of my configuration for the sake of simplicity.

+4
1

, (error_code.o vs. codecvt_error_category.o), (, , boost/noncopyable.hpp).

,

  • boost ( ?), ? ?)

  • boost_system, , , boost_filesystem

, , , ( , , , , Asio ).

, boost , (, #include <boost/asio.hpp>, ); MSVC, , #pragma s

+1

Source: https://habr.com/ru/post/1629206/


All Articles