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>> 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 Williams            | Just Software Solutions Ltd
Custom Software Development |
Registered in England, Company Number 5478976.
Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

Boost list run by bdawes at, gregod at, cpdaniel at, john at