我将一些“本地”的C++项目从Windows 7上的Visual Studio 2010迁移到了Windows 8.1上的Visual Studio 2013。重建后出现了这个错误。我意识到我没有安装Windows SDK,于是我安装了它,但仍然得到相同的错误。还有其他人在干净的VS项目迁移中遇到过这个问题吗?
我在SDK文件夹中搜索找到了缺失的文件。由于项目迁移后安装了SDK,因此路径未包含在我的项目中。通过添加包含和库路径,我成功解决了问题。
我将以下文件夹添加到我的包含路径中:
$(WindowsSdkDir)include\um
$(WindowsSdkDir)include\shared
现在我的Debug和Release完整的包含路径如下:
$(WindowsSdkDir)include;$(WindowsSdkDir)include\um;$(WindowsSdkDir)include\shared;$(FrameworkSDKDir)\include;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;
我将以下文件夹添加到我的库路径中(请注意,这适用于32位版本!64位版本请参阅x64,ARM构建请参阅arm...):
$(WindowsSdkDir)lib\winv6.3\um\x86
我的完整库路径如下:
$(WindowsSdkDir)lib;$(WindowsSdkDir)lib\winv6.3\um\x86;$(FrameworkSDKDir)\lib;$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib
请注意,如果您有原始项目文件的副本,则还可以在安装Windows SDK后重新迁移它以解决问题。
包含路径:$(VC_IncludePath);$(WindowsSDK_IncludePath);
库路径:$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);