任 務: 早年在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 個已跳過
即可正常調試原程序。