cowwoc
When I compile my code against Boost 1.36 I get:
3>C:\Program Files\boost_1_36_0\boost/config/abi_prefix.hpp(19) : warning C4103: 'c:\program files\boost_1_36_0\boost\config\abi_prefix.hpp' : alignment changed after including header, may be due to missing #pragma pack(pop)
[snipped similar warnings]
I don't recall seeing this in 1.35 and I compiled against it two days ago. I am compiling under Visual Studio 2008, in x64 mode. How do I fix these warnings?
Disable the warning in the Visual Studio project settings. These warnings are because the thread library now saves and restores the alignment settings using the boost abi_prefix.hpp and abi_suffix.hpp headers (whereas it didn't in 1.35). Because the necessary pragmas are in separate headers (push in abi_prefix, pop in abi_suffix) the compiler is warning about it. This is necessary because otherwise code compiled with non-standard alignment may have subtle bugs due to the alignment changing (and thus structure layout changing) between the compiled thread library and the included headers. 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