“未知的编译器版本” - Boost认为VS2005编译器是VS2015

时间:2017-07-21 20:39:49

标签: visual-studio boost visual-studio-2015 visual-studio-2005

因此,我需要在同一台机器上构建Visual Studio 2005和Visual Studio 2015中的项目(64-but,win10)。当切换回2005年建立的项目时,Boost认为我仍在使用2017编译器并抛出各种错误。主要是这一个:Unknown compiler version

我的问题: Visual Studio 2015是否在我的机器上设置了一些东西,可以用来确定编译器版本,还是提升存储效果?对于我的生活,我无法弄清楚助力在哪里寻找这些信息。

我相信这是提升检查的地方:

#if (_MSC_VER > 1600)
#  if defined(BOOST_ASSERT_CONFIG)
#     error "Unknown compiler version - please run the configure tests and     report the results"
#  else
#     pragma message("Unknown compiler version - please run the configure     tests and report the results")
#  endif
#endif

_MSC_VER设置在哪里?

1 个答案:

答案 0 :(得分:-1)

要为您的Visual Studio版本构建Boost.Build系统,请在相应的Visual Studio命令提示符中运行bootstrap.bat文件。

Boost.Build喜欢在编译时默认使用更高版本的Visual Studio。当Boost.Build意识到你 如果安装了多个版本的Visual Studio,它将创建环境变量,如:

VS140COMNTOOLS - > Visual Studio 2015

VS80COMNTOOLS - > Visual Studio 2005

您可以通过以下方式从VC ++ 14.0编译器切换到VC ++ 8编译器:

  1. 更改VC140COMNTOOLS环境变量的名称 - 您可以添加' x'在它前面或添加_DISABLED 它。
  2. 导航到C:\ Users {您的用户名} \ AppData \ Temp并删除自动生成的脚本 " b2_msvc-8.0 _ {.. blahblah ..} CMD&#34。 (对于32位构建应该是2 - 1,对于64位构建应该有1对)。虽然名字 似乎是正确的,不要被愚弄 - 这个文件不经常生成,默认为最新版本的Visual 工作室在你的机器上。
  3. 完成这两个步骤后,编译器将正确重新生成编译脚本,并且应该可以正常工作。