我知道新工具集不受boost的支持,但我想尝试使用它来构建Boost。我天真地尝试过使用Boost构建系统和选项toolset=msvc-12.0-ctp
,但它不起作用。我相信这是有可能的,因为Boost 1.55正式支持Visual Studio 2013(msvc-12.0),并且在两个版本之间几乎没有发生重大变化。如何使用Visual Studio 2013 CTP构建Boost 1.55 2013年11月
我的动机是我需要CTP的某些功能,所以我自己的应用程序将与C++版本的msvc编译器一起编译。我担心仅仅使用原始的2013编译器编译Boost会导致Boost和我自己的应用程序之间的二进制不兼容。 Stephen T. Lavavej himself doesn't guarantee binary compatibility:
- 重新使用MSVC 2013年11月CTP的MSVC 2013内置
因为这是编译器只是加速二进制文件的任何机会,也许可以与混合和匹配脱身。但我不会推荐它。
有关如何解决这个问题的想法?提前致谢。
一个很好的答案。干杯!我得到Boost与2013年11月CTP编译。我想要x64输出,这导致了第2步中的下列小改动:''C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ vcvarsall.bat“x86_amd64”。请注意,我使用选项'x86_amd64'而不是简单的'-x64'。首先,它不适用于前缀短划线。其次,编译器'cl.exe'是一个x86应用程序,因此必须相应地设置变量。选项'x86_amd64'选择x86编译器并指示它交叉编译为x64 [[source](http://msdn.microsoft.com/zh-cn/library/x4d2c09s.aspx)]。 –
很高兴这很有帮助。我认为通过'address-model ='参数控制输出平台更容易到'b2'。有了'Visual Studio 12.0 \ VC \'的路径,它会以某种方式自动完成所有的工作,所以不需要针对不同编译器环境的特殊设置。 – Drop
@FrederikAalund我无法建立一些库(特别是locale,log,random,unit_test等)。如果你能成功地构建它们,你能不能把你的解决方案作为一个自我回答的问题发布在SO上? – Drop