Hello all,

 

First of all, I want to say boost has been totally awesome for the programming team in which I work. Kudos to everyone contributing!

 

For skimmers, #3 is the one that has a question related to it.

 

I’m trying to build boost 1.33.1 64-bit using VC-8 (team suite) and I’ve run into some (minor) issues. They are:

  1. The vc-8_0-x86_amd64-tools.jam does not refer to the correct vcvars batch file. It specifies $(VC_ROOT)\bin\x86_amd64\VCVARSamd64.bat but there isn’t any such file. The proper file is $(VC_ROOT)\bin\x86_amd64\vcvarsx86_amd64.bat
  2. The thread library doesn’t link because of the ice_wrapper used in once.cpp (in compare_exchange line 119). Replacing the compare_exchange with an actual call to InterlockedCompareExchange did the trick. I believe this is because it is an intrinsic function.
  3. This one is the most confusing to me: the abi prefix headers perform #pragma pack(push, 8). No warnings pop up in 32-bit mode because 8 bytes is the default alignment. However, in 64-bit mode, the default alignment is 16 bytes. Why would boost ever want to enforce a specific packing? Is it safe for me to simply comment these out? I *really* don’t like the idea of enforcing an 8 byte alignment when the default is 16 bytes. Any comments here?

 

Thanks!

Jason.