vs2013編譯boost1.55.0 32/64位

在使用vs2013編譯boost-1.55.0以前,先要給boost作下修改:bootstrap

boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp line:222工具

template<class U>
static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
       <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);

替換成如下內容:spa

#ifdef BOOST_MSVC
     template<class U>
     static decltype(boost::move_detail::declval<Fun>().BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME()
           , boost_intrusive_has_member_function_callable_with::yes_type())
           Test(Fun*);
#else
     template<class U>
     static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)
           <U> Test(BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME)<U>*);
#endif

 

  • 32位編譯:
  1. 從開始菜單啓動Visual Studio 2013的vs2013 命令行,進入boost所在目錄,運行bootstrap.bat
  2. 編譯命令:
bjam.exe stage --toolset=msvc-12.0 --without-graph --without-graph_parallel --without-math --without-mpi --without-serialization --without-wave --without-test --without-program_options --without-serialization --without-signals --stagedir=".\bin\vc12_x86" link=static runtime-link=shared threading=multi debug release

 

  • 64位編譯:
  1. 從開始菜單啓動Visual Studio 2013的vs2013 x64兼容工具命令行,而後轉到boost根文件夾,運行bootstrap.bat生成x64版的bjam.exe。
  2. 運行命令:   
bjam.exe stage --toolset=msvc-12.0 --without-graph --without-graph_parallel --without-math --without-mpi --without-serialization --without-wave --without-test --without-program_options --without-serialization --without-signals --stagedir=".\bin\vc12_x64" link=static runtime-link=shared threading=multi debug release address-model=64  
相關文章
相關標籤/搜索