我正在将现有解决方案从VS2008升级到VS2013。我们使用boost 1_55库。一个项目不断尝试链接vc110版本的boost;但是当我用VS2013命令行编译器构建boost时,我得到了vc120 boost库(当然)。
我的提升auto_link.hpp文件有
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
// vc11:
# define BOOST_LIB_TOOLSET "vc110"
# elif defined(BOOST_MSVC)
// vc12:
# define BOOST_LIB_TOOLSET "vc120"
其中,按照Visual Studio 2013 (vs120) asks for wrong boost libraries的建议;那我还能尝试什么?
答案 0 :(得分:0)
我首先要确保您的应用程序及其依赖项都是使用Visual Studio 2013重建的。如果使用boost,那么使用以前的编译器构建的任何应用程序依赖项都会导致这种情况。
注意:这不仅非常重要,您应始终避免在同一应用程序中使用多于一个版本的Visual Studio。将dll链接到以前版本的Visual Studio会导致随机查看堆损坏,因为在这种情况下,您有多个独立堆也可能与CRT存在其他不兼容性。