如何使用新的Visual Studio 2013预览版构建boost
How do I build boost with new Visual Studio 2013 preview?
当尝试为Visual Studio 2013预览版(MSVC12)构建Boost 1.54时,它会发出警告:
未知编译器版本-请运行配置测试并报告结果
然后失败并出现错误:
boost_1_54_0\boost/iterator/detail/facade_iterator_category.hpp(166):错误C2039:"assert_not_arg":不是"boost::mpl"的成员
而且看起来MSVC11的旧库是不兼容的。
我真的很想测试新的IDE/编译器版本,需要改进。那么,有可能在新的Visual Studio 2013预览版中使用boost吗?
是。这是可能的。
可能的解决方案有:
- 尝试构建Boost 1.53:不太新鲜,但由于一些奇怪的原因,它构建得很好
- 如果你真的真的需要Boost 1.54(新的日志库看起来不错:)),试着将这个diff补丁应用到你的Boost 1.54。它最适合84920版本,但您也可以尝试其他版本。请注意,我不是这个补丁的作者
- 尝试使用Subversion获取最新修订:CCD_ 1。当你们读到这篇文章的时候,这个问题可能已经被贡献者解决了
编辑:2013年8月26日
看起来助推人员解决了这些问题。最新SVN修订版svn co http://svn.boost.org/svn/boost/trunk boost-trunk
构建良好。感谢他们!
编辑:2013年12月4日
引用TheArtTrooper评论:
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__)
由于Lars Viklund提供了几个补丁,我能够构建Boost 1.54(以及一个依赖它的项目)。在撰写本文时,前两个补丁已提交给SVN修订版85177。
我在Visual Studio 2013 Update 4和Boost 1.54中遇到了这个问题,更新到Boost 1.57修复了它。
- 如何使用VS 2015构建Boost 1.44
- 使用 python3 为 msvc 构建 boost python - 链接器错误
- 无法构建Boost Python库(致命错误:PyConfig.H:没有此类文件或目录)
- 无法在支持 bz2 的 Linux 上构建 boost
- 构建 boost 1.61 iostream 时出错 - 使用 -fPIC 重新编译
- 如何在 1.64 位中构建 Boost 64
- 如何构建Boost Fiber库以进行分段堆栈支持
- 使用-D_GLIBCXX_USE_CXX11_ABI构建Boost = 0
- 我如何在不启用例外的情况下构建Boost 1.70.0
- 从文件(邻接列表)构建Boost图
- 如何使用BOOST_THREAD_WIN32-MT-S(与mingw交叉键)来构建Boost
- CMake - 如何在使用 FetchContent 下载后构建 Boost
- 如何为android构建boost::locale
- 无法为 Visual Studio 2017 构建 Boost 1.68
- 在 Anaconda 中构建 Boost Extension with distutils 和 Microsoft Vi
- 使用Visual Studio 2012针对Windows XP构建Boost 1.52库
- 使用HDF5构建Boost Python
- 在Visual Studio 2013 XP Toolset上构建Boost
- 如何在一台计算机上同时构建Boost的VC9和VC10版本
- 如何构建boost序列化库