C++ 如何使用新的Visual Studio 2013预览版构建boost?
尝试为(MSVC12)生成时,它会发出警告: 未知的编译器版本-请运行配置测试并报告 结果 然后失败并出现错误: boost\u 1\u 54\u 0\boost/iterator/detail/facade\u iterator\u category.hpp(166): 错误C2039:“assert_not_arg”:不是“boost::mpl”的成员 看起来MSVC11中的旧LIB不兼容 我真的很想测试新的IDE/编译器版本,需要升级。那么,是否可以将boost与新的Visual Studio 2013预览版一起使用?可以。这是可能的 可能的解决办法是:C++ 如何使用新的Visual Studio 2013预览版构建boost?,c++,visual-studio,boost,C++,Visual Studio,Boost,尝试为(MSVC12)生成时,它会发出警告: 未知的编译器版本-请运行配置测试并报告 结果 然后失败并出现错误: boost\u 1\u 54\u 0\boost/iterator/detail/facade\u iterator\u category.hpp(166): 错误C2039:“assert_not_arg”:不是“boost::mpl”的成员 看起来MSVC11中的旧LIB不兼容 我真的很想测试新的IDE/编译器版本,需要升级。那么,是否可以将boost与新的Visual Stud
svn公司http://svn.boost.org/svn/boost/trunk 增压行李箱
。在阅读本文时,撰稿人可能已经解决了这个问题Boost 1.55.0使用Visual Studio 2013 RTM构建,没有任何 附加补丁
祝你快乐 如果使用自动链接boost功能,还需要修补boost/config/auto_link.hpp。我将文件更改为:
// vc10:
# define BOOST_LIB_TOOLSET "vc100"
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
// vc11:
# define BOOST_LIB_TOOLSET "vc110"
# elif defined(BOOST_MSVC)
// vc12:
# define BOOST_LIB_TOOLSET "vc120"
# elif defined(__BORLANDC__)
//vc10:
#定义BOOST_LIB_工具集“vc100”
#elif定义(BOOST_MSVC)和&(BOOST_MSVC<1800)
//vc11:
#定义BOOST_LIB_工具集“vc110”
#定义的elif(BOOST_MSVC)
//vc12:
#定义BOOST_LIB_工具集“vc120”
#elif已定义(_BORLANDC__;)
多亏了你,我才得以构建Boost 1.54(以及一个依赖于它的项目)。在撰写本文时,前两个补丁已提交到SVN-修订版85177。我在Visual Studio 2013更新4和Boost 1.54中遇到了这个问题,更新到Boost 1.57修复了这个问题。您能否解释一下为什么补丁中需要以下内容:如果MSC_VER<1800&(_MSC_FULL_VER<170051025 | | |已定义(BOOST_MSVC_ENABLE_2012_NOV_CTP))
这里的补丁只添加了检查MSVC版本是否低于1800(Visual Studio 2013,又名“msvc12”),并将其与原始检查相结合。原始行检查MSVC是否包含“更新3”或者11月的编译器更新。如果版本检查失败,boost将被限制为不使用以前的msvc版本不支持的某些C++11功能。请注意,我不是此修补程序的自动修复者(我会将此添加到答案中)好的,我明白了。实际上,原始条件似乎比添加的\u MSC\u VER<1800
更强,因此似乎没有必要对这行进行修补。是的,它确实是冗余的=)我已经编译了1_55_0发布tar ball,其中有一个小补丁:使用Visual Studio 2013 RTM构建Boost 1.55.0版本,没有任何附加补丁。