为什么msvc ++上缺少Windows定义

时间:2012-01-30 11:38:26

标签: winapi visual-c++ windows-services undefined

我最近没有在MSVC编码。我被分配了一个包含大量错误的旧代码,但大多数缺少的定义都是Windows API。

例如,LPHANDLER_FUNCTION_EX未定义,导致C2061编译错误。但我已经包含了Winsvc.hWindows. h。我知道这只是一个定义,我检查了我的C:\ Program Files \ Microsoft SDK \,因为定义可以在Winsvc.h找到。所以我在目录列表中添加了SDK(工具>选项>目录标签)。

我还下载了Windows SDK 2003年2月更新,这是与msvc6一起使用的最后一个版本。 (ref

为了完整起见,我的电脑是Windows XP SP3。安装了SP6的Microsoft Visual C ++企业版。我还安装了Windows SDK 2003年2月更新。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我能够通过工具>修复包含目录的顺序来解决这个问题。选项>目录标签。

在VC98文件夹位于SDK之前。 第一个C:\ Program Files \ Microsoft Visual Studio \ VC98 \ INCLUDE 第二个C:\ Program Files \ Microsoft Visual Studio \ VC98 \ MFC \ INCLUDE 3rd C:\ Program Files \ Microsoft Visual Studio \ VC98 \ ATL \ INCLUDE 第四个C:\ Program Files \ Microsoft SDK \ include

只需将SDK目录放在列表顶部即可。

jamesdlin使用/ E选项的建议很有帮助。我还在项目设置中设置了/ E选项> “库选项卡”>项目选项文本框。日志将放在项目文件夹中的.plg文件中。

这也适用于丢失的lib文件。将目录设置为库的SDK目录。