Tuesday, March 13, 2007

Boost : VC8 : x64 编译

Boost 1_33_1 thread库要在VC8下编译为amd64版本, 搜了一下发现问题挺多,而且没什么中文资料。
废话少说
  1. 修改libs/threads/src/once.cpp, 将 return ice_wrapper(&InterlockedCompareExchange, dest, exch, cmp); ==> return InterlockedCompareExchange(dest, exch, cmp); 因为Win64下InterlockedCompareExchange成为了intrinsic function
  2. vc-8_0-x86_amd64-tools.jam中修改成: VC_SETUP = "CALL \"$(VC_TOOL_PATH)\\VCVARSx86_amd64.bat\" >nul" ;
  3. 在thread目录下run: ..\..\..\..\bjam -sTOOLS="vc-8_0-x86_amd64" -sBUILD="release debug multi/single static/dynamic"

Reference:

http://article.gmane.org/gmane.comp.lib.boost.threads.devel/13

http://en.allexperts.com/q/C-1040/Building-boost-libraries-64.htm

http://steve.chinavfx.net/?p=22

No comments: