任 务: 早年在VS2010下开发的C程序,现在换用VS2017打开,出现很多问题。以下主要解决遇到的两个问题。希望对你有帮助
解决方法如下:
1. VS2017应当安装对应的 Windows SDK
2.右键工程——》属性——》选择VS2017安装的Windows SDK版本(10.0.16299.0),这步让项目包含(incude)系统头文件(例如:stdio.h, string.h, ctype.h)等
3.解决平台工具集问题
VS2010下运行的C 程序,直接用VS2017打开配置
<!-- Error out if toolset does not exists in older versions of Visual Studio -->
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_PlatformToolsetShortNameFor_v110);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(_ToolsetFound)' != 'true' and '$(PlatformToolset)' == 'v110'" />
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_PlatformToolsetShortNameFor_v100);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(_ToolsetFound)' != 'true' and '$(PlatformToolset)' == 'v100'" />
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_PlatformToolsetShortNameFor_v90);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(_ToolsetFound)' != 'true' and '$(PlatformToolset)' == 'v90'" />
<VCMessage Code="MSB8020" Type="Error" Arguments="$(PlatformToolset);$(PlatformToolset)" Condition="'$(DesignTimeBuild)'!='true' and '$(_ToolsetFound)' != 'true' and '$(PlatformToolset)' != 'v90' and '$(PlatformToolset)' != 'v100' and '$(PlatformToolset)' != 'v110'" />
</Target>
_PlatformToolsetShortNameFor_v100 对应的是 VS2010的平台工具集。
按照提示进行操作: 项目---> 重定解决方案目标
点击确定
输出结果:
配置“Debug|Win32”: 将平台工具集更改为“v141”(之前为“v140”)。 配置“Release|Win32”: 无需升级平台工具集。平台工具集为“v141”。 重定目标结束: 1 个已完成,0 个未通过,0 个已跳过
即可正常调试原程序。