Visual Studio _MSC_VER与Platform Toolset

时间:2017-05-03 14:25:18

标签: c++ visual-studio

我有一个VS 2010 C ++ / CLI项目,我导入到VS 2015.因为它链接到一些我无法控制的VS 2010 C ++库,我需要使用VS 2010编译器进行编译。当我将项目导入到VS 2015时,我告诉VS不要升级项目(不记得确切的选项,但项目现在在解决方案资源管理器中显示“项目名称(Visual Studio 2010)”)。在项目属性中,Platform Toolset列为“Visual Studio 2010(v100)”:

Visual Studio Project Properties window showing Visual Studio 2010 (v100) selected for Platform Toolset

如果_MSC_VER不是受支持的版本之一(Visual C ++ 6.0-10.0),我正在使用的其中一个库有一些标头,其中包含一些显示错误的ifdef。正在为此项目生成该错误,并且我已确定在Intellisense中构建期间显示_MSC_VER是1900(VS 2015的默认值)。

如何使用2010版C ++编译器(_MSC_VER 1600)构建项目?这不是Platform Toolset选项应该控制的吗?

1 个答案:

答案 0 :(得分:1)

我误解了Visual Studio中发生了什么。构建实际上工作正常;生成的错误来自Intellisense。 Visual Studio中有known bug,其中Intellisense无法正确反映项目所选平台工具集指定的_MSC_VER。我会留下这个问题,以防其他人遇到这个问题。