Windows 8 visualc&x2B+;无法根据Windows SDK 8.1编译服务,缺少ktmw32.h 我继承了一个VisualC++项目的维护,它实现了一个Windows服务,用于与某些自定义硬件设备进行对话。

Windows 8 visualc&x2B+;无法根据Windows SDK 8.1编译服务,缺少ktmw32.h 我继承了一个VisualC++项目的维护,它实现了一个Windows服务,用于与某些自定义硬件设备进行对话。,windows-8,header,transactions,visual-c++,Windows 8,Header,Transactions,Visual C++,尝试根据Windows SDK 8.1构建项目时失败,出现以下错误,表明缺少包含文件ktmw32.h C:\ProgramFiles(x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include\atltransactionmanager.h(22):致命错误C1083:无法打开包含文件:“ktmw32.h”:没有此类文件或目录 因此,我在我的电脑中搜索ktmw32.h,只找到了一个副本,位于Windows SDK 8.0的C:\Program File

尝试根据Windows SDK 8.1构建项目时失败,出现以下错误,表明缺少包含文件ktmw32.h

C:\ProgramFiles(x86)\Microsoft Visual Studio 12.0\VC\atlmfc\include\atltransactionmanager.h(22):致命错误C1083:无法打开包含文件:“ktmw32.h”:没有此类文件或目录

因此,我在我的电脑中搜索ktmw32.h,只找到了一个副本,位于Windows SDK 8.0的
C:\Program Files(x86)\Windows Kits\8.0\Include\um

如果我将
ktmw32.h
从sdk8.0复制到sdk8.1,一切都会正常运行

我的问题是:

  • 为什么我在Windows SDK 8.1上会出现原始编译错误?(请注意,它与8.0及更早版本相比编译得很好。)
  • 我的小补丁,复制头文件,安全吗?(还是有更好的解决方案?)

  • 是的,非常抱歉我不小心在错误的网站上发布了!仍然是Windows API的一部分。相应地,可以在我的Windows 8.1 SDK安装(2014年11月更新)中找到
    ktmw32.h
    标题。我建议重新安装SDK的最新版本,而不是从另一个版本复制该文件。我已通过以下链接链重新安装,但没有生成缺少的头文件:链接的sdksetup.exe是一个在线下载和安装应用程序。也许它看到我已经安装了(大多数)Windows8.1SDK,然后跳过了一些步骤。现在我将再次尝试选择“独立”加载,它应该包括所有文件。