Opened 9 years ago

Closed 9 years ago

#8833 closed Bugs (duplicate)

Boost and /clr code

Reported by: anonymous Owned by: Anthony Williams
Milestone: To Be Determined Component: threads
Version: Boost 1.54.0 Severity: Problem
Keywords: Cc:

Description

When using boost in an application which uses threads it gives the fault message:

1>c:\program files (x86)\boost\boost_1_47\boost\thread\win32\thread_primitives.hpp(314): error C2472: 'boost::detail::win32::interlocked_bit_test_and_set' cannot be generated in managed code: 'Found an intrinsic not supported in managed code'; compile with /clr to generate a mixed image

    1>c:\program files (x86)\boost\boost_1_47\boost\thread\win32\basic_timed_mutex.hpp(160): error C2472: 'boost::detail::basic_timed_mutex::unlock' cannot be generated in managed code: 'Found an intrinsic not supported in managed code'; compile with /clr to generate a mixed image

Found on the internet: Boost.thread uses some thread local storage calls that don't work if you directly link them with CLR code. In VS2008 the link would succeed but you'd crash on startup -- I suspect this is a symptom of the same problem, VS2010-style.

On stackoverflow I found the following workaround: It is necessary to build boost.thread as a DLL instead of linking it statically, and maybe it'll link for you that way...

Change History (1)

comment:1 by Marshall Clow, 9 years ago

Resolution: duplicate
Status: newclosed

Duplicate of #8832

Note: See TracTickets for help on using tickets.