Multithreading – upgrading threads using CLR
Using Visual Studio 2008 and boost library 1.46 1 I want to compile and link the following and / or CLR flags:
#include <boost/thread/thread.hpp>
void run() {}
int main(int argc,char *argv[])
{
    boost::thread t(run);   
}
The first error is about the dummy - struct of the forward declaration in boost:: thread This post solves this problem by declaring:
namespace boost {
    struct thread::dummy {};
}
Of course, I can compile now, but I'll get a linker warning
Warning 1 warning lnk4248: 'boost detail. win32._ Security_ Unresolved typeref token of attributes' (0100001f); The image may not work
Run application results
The application cannot start correctly (0xc000007b)
The suggestions in the forum thread mentioned earlier do not apply to me I have built a static version of boost threads lib, which runs normally without / CLR flag There is no difference between debugging / publishing I run on win7 32 bit
Any tips?
Solution
I have encountered this problem. I don't remember where I got this, but a solution is to declare "boost. Detail. Win32. _security_attributes", including all boost headers like this
namespace boost { 
    namespace detail { 
        namespace win32 { 
            struct _Security_ATTRIBUTES: public ::_Security_ATTRIBUTES {}; 
        };
    };
};
If you want everyone to see it, remove the namespace
