简体   繁体   中英

How do I build boost with new Visual Studio 2013 preview?

When trying to build Boost 1.54 for Visual Studio 2013 Preview (MSVC12) it warns:

Unknown compiler version - please run the configure tests and report the results

and then fails with error:

boost_1_54_0\\boost/iterator/detail/facade_iterator_category.hpp(166) : error C2039: 'assert_not_arg' : is not a member of 'boost::mpl'

And looks like old libs from MSVC11 are not compatible.

I really-really want to test new IDE/Compiler version and need boost. So, is it possible to use boost with new Visual Studio 2013 Preview?

Yes. It is possible.

Possible solutions are:

  1. Try build Boost 1.53 : not too fresh, but for some strange reason it builds just fine.
  2. If you really-really need Boost 1.54 (new Log library looks good :) ), try to apply this diff-patch to your Boost 1.54 distributive. It is best suited for revision 84920, but you can try any other too. Note that I am not author of this patch.
  3. Try to get latest revision with Subversion : svn co http://svn.boost.org/svn/boost/trunk boost-trunk . For a time when you reading this, issue can be already fixed by contributors.

EDIT: 26 aug 2013

Looks like boost folks fixed these issues. Latest SVN revision svn co http://svn.boost.org/svn/boost/trunk boost-trunk builds fine. Thanks to them!

EDIT: 4 dec 2013

Quote from TheArtTrooper comment:

Boost 1.55.0 builds with the Visual Studio 2013 RTM without any additional patches

Happy boosting!

If you use the auto-linking boost feature, you'll also need to patch boost/config/auto_link.hpp. I changed the file to:

    // 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__)

I was able to build Boost 1.54 (and a project depending on it) thanks to several patches provided by Lars Viklund . At the time of the writing, the first two of the patches were committed to the SVN - revision 85177.

我有这个问题与Visual Studio 2013 Update 4和Boost 1.54,更新到Boost 1.57修复它。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM