我最近知道这个问题:
在Windows 7(而不是Win8)上安装Visual Studio 2013,创建默认的MFC应用程序,开始构建,我会立即收到错误消息:
1> ------ Build build:Project:MFCApplication1,Configuration:Debug Win32 ------
1> C:\ Program Files (86)\的MSBuild \ Microsoft.Cpp \ V4.0 \ V120 \ Microsoft.CppBuild.targets(355,5): 警告MSB8003:找不到 WindowsSDKDir 变量 注册表中。 TargetFrameworkVersion 或 PlatformToolset 可能会被设置为 版本号无效。
1> stdafx.cpp
1> c:\ users \ chj \ u8vs2013 \ mfcapplication1 \ targetver.h(8):致命错误 C1083:无法打开包含文件:'SDKDDKVer.h':没有此类文件或 目录
==========构建:0成功,1失败,0最新,0跳过==========
快速解决方案是打开项目属性,将平台工具集从 v120 更改为 v120_xp 。
似乎,VS2013(或场景背后的MSBuild,不确定哪个)会检查你的Toolset的目标平台对你的构建机器(在这种情况下是Win7),如果Toolset是用于更高版本的Windows版本,它会粗暴地退出。
所以我的问题是:即使我的构建机器是Windows 7,我如何强制VS2013(或MSBuild)使用Toolset v120 进行构建 - 也就是说,我不在乎是否结果EXE可以在Win7上运行,我只想生成与Win8机器内部相同的EXE,就像交叉编译一样 - 为了 - 例如,将其发送到Windows 8主机上的远程调试。
答案 0 :(得分:3)
在Windows 7构建代理计算机上安装Windows 8 SDK。
http://msdn.microsoft.com/en-us/windows/desktop/bg162891.aspx