[Boost-bugs] [Boost C++ Libraries] #6148: MinGW : Boost.Thread defaults to DLL linkage

Subject: [Boost-bugs] [Boost C++ Libraries] #6148: MinGW : Boost.Thread defaults to DLL linkage
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-11-19 10:39:02


#6148: MinGW : Boost.Thread defaults to DLL linkage
------------------------------------------------+---------------------------
 Reporter: Cyril Othenin-Girard <cog@…> | Owner: anthonyw
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
  Version: Boost 1.48.0 | Severity: Problem
 Keywords: MinGW thread static link |
------------------------------------------------+---------------------------
 I compile boost-1.48 with GCC 4.6.1 using MinGW-32 3.10 on Windows XP.

 I confirm the last comment of '''WFrane''' in ticket #4614 :

> Replying to '''anthonyw''':
> > Static linking seems to work fine now #4258 is fixed.
>
> It appears that adding
> '''#define BOOST_THREAD_USE_LIB'''
> before other boost thread-related preprocessor directives is still
 required for static linking when using MinGW (tested using Boost 1.45.0
 and MinGW 4.4.1).


 I also built BOOST libraries as static ones (which is the default on
 MinGW).

 Nevertheless, I have to explicitly add '''-DBOOST_THREAD_USE_LIB''' to my
 project makefile to avoid a lot of warnings like :
  {{{
 boost-1.48/thread/win32/thread_heap_alloc.hpp:59:40: warning: inline
 function 'void* boost::detail::allocate_raw_heap_memory(unsigned int)'
 declared as dllimport: attribute ignored [-Wattributes]
 boost-1.48/thread/win32/thread_heap_alloc.hpp:69:39: warning: inline
 function 'void boost::detail::free_raw_heap_memory(void*)' declared as
 dllimport: attribute ignored [-Wattributes]
 }}}

 This is not required on other Win32 platforms.

 Now than MinGW has Thread-Local-Storage automatic clean-up (''confirmation
 needed''), is it possible to default to static library linkage instead of
 DLL ?

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6148>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:07 UTC