|
Boost : |
From: Russell Hind (rhind_at_[hidden])
Date: 2003-08-04 01:57:20
E. Gladyshev wrote:
>>Have you built the signals library multi-threaded or
>>single threaded and
>
>
> Whatever the default build is.
Single threaded.
>
>
> The application is set to use multi-thread run-time
> libraries and MFC.DLL.
>
>
>>Not seen this specific one, the most common problem
>>I saw was a hang so
>>it may well not be your problem, but worth looking
>>into.
>
It may well be the problem. I didn't see crashes, just hangs. You have
objects created inside the signals lib (non-multi-threaded) so it
doesn't create/initialise the lock member variables. There is then
header code which is compiled directly in your application
(multi-threaded even though you only use 1 thread) and so it tries to
access these non-existent locks in the objects created in single
threaded signals lib.
If you are going to use a multi-threaded application/run-time, you must
build/link the multi-threaded version of the boost libs also.
Because of the crash, you may still have another problem, but I would
solve this one first, then look for the next. I saw the hangs under
Borland C++ Builder, the bug may present itself in a different way under
VC++.
Thanks
Russell
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk