We have a project that compiles with /Zp1
, this is due to legacy and cannot be changed at the moment. We started using Boost through NuGet (package system) but soon got alignment warnings and crashes. These libraries are build using the default (/Zp8
) compiler option.
I've read about the ABI, and found a similar question on StackOverflow but still have some questions.
Should boost library be dependent on structure member alignments?
http://www.boost.org/development/separate_compilation.html
Some questions:
I've noticed Boost uses #pragma pack messages for byte alignment (compatibility?). Is Boost supposed to work with different byte alignment? Should I file a bug if I can reproduce a crash because of byte alignment?
How to compile Boost with
/Zp1
? Where do I add the compiler option? Is it in project-config.jam file? Any examples?