Boost logo

Boost :

From: Anthony Williams (anthony_w.geo_at_[hidden])
Date: 2008-04-07 14:34:12


Amit <contact.lipik_at_[hidden]> writes:

> Anthony Williams <anthony_w.geo <at> yahoo.com> writes:
>
>> You need to define BOOST_THREAD_USE_LIB when you build the static library. It
>> should work if you're using MSVC as the backend for ICL.
>
> Thanks, I figured it out. looking at the code (which I should admittedly have
> done in the first place :) - BOOST_THREAD_BUILD_LIB needs to be defined for
> tss_pe to be included in the build.

That's what I meant.

> I have done the build, but ICL does not like
> data_seg pragma's in that file; I get 2 types of warnings:
> a) warning #1026: pragma data_seg should be at global scope
> b) warning #14: extra text after expected end of preprocessing directive

Those are MSVC pragmas. I guess the #ifdefs are wrong.

> a) is probably because the pragmas are at namespace scope; don't know if this is
> really a violation or the compiler being fussy.
> b) this is generated for all data_seg(push, xxx) & data_seg(pop, xxx) pragmas.
>
> No idea what the compiler is doing under the hood - documentation does not
> mention anything about data_seg, and it is not in the list of unsupported
> pragmas. Will test the code tomorrow & should have more information on the
> outcome then.
>
> But in the worst case, I suppose I can drop tss_pe.cpp from my build and then I
> become responsible for cleaning up all tss I allocate?

The TSS tests all pass for ICL with a VC8 backend (see the regression
results), so it should be OK (even with the warnings). Yes, if you remove
tss_pe.cpp, then you're responsible for TSS cleanup.

Anthony

-- 
Anthony Williams            | Just Software Solutions Ltd
Custom Software Development | http://www.justsoftwaresolutions.co.uk
Registered in England, Company Number 5478976.
Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk