2017-05-03 113 views
0

我有一个VS 2010 C++/CLI项目,我导入到VS 2015中。因为它链接了一些我不控制的VS 2010 C++库,我需要它与VS编译2010编译器。当我将项目导入VS 2015时,我告诉VS不要升级项目(不记得确切的选项,但项目现在在解决方案资源管理器中显示“项目名称(Visual Studio 2010)”)。在项目属性,平台工具集被列为“Visual Studio 2010中(V100)”:Visual Studio _MSC_VER与平台工具集

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

一个我使用的图书馆有一些的ifdef如果_MSC_VER ISN,显示一个错误的标题是受支持的版本之一(Visual C++ 6.0-10.0)。该项目正在生成该错误,并且我确定在Intellisense中生成期间显示_MSC_VER为1900(VS 2015的默认设置)。

如何使用2010版C++编译器(_MSC_VER 1600)构建项目?这不就是平台工具集选项应该控制的吗?

+0

确保所有项目的“平台工具集”均为v100。 – tambre

+0

@tambre,谢谢。我的解决方案中只有两个C++项目(其余都是C#),并且两个C++项目都有一个设置为v100的“平台工具集”。 – adv12

+0

我会启动procmon来查看MsBuild如何找到并启动cl.exe。 – noxmetus

回答

1

我误解了Visual Studio中正在发生的事情。构建实际上工作正常;所产生的错误来自Intellisense。在Visual Studio中有一个known bug,其中Intellisense不能正确反映项目选择的平台工具集指定的_MSC_VER。如果其他人遇到这个问题,我会留下问题。