readdirectorychangesw 链接错误 undeclared identifier 解决方法

http://blog.csdn.net/wascm/archive/2007/05/14/1608797.aspx
readdirectorychangesw 链接错误 undeclared identifier 解决方法   <script src="http://blog.csdn.net/count.aspx?ID=1608797&Type=Rank" type="text/javascript"></script>

添加  #define   _WIN32_WINNT   0x0500,且在windows.h头文件定义之上。

即:

#define   _WIN32_WINNT   0x0500
#include <windows.h>

原理:

1.ReadDirectoryChangesW函数定义在winbase.h头文件中,,通常windows下编程一般都包含windows.h文件,而windows.h中包含了winbase.h,所以不用再包含winbase.h

2.在winbase.h中ReadDirectoryChangesW原型定义如下:

#if(_WIN32_WINNT >= 0x0400)
WINBASEAPI
BOOL
WINAPI
ReadDirectoryChangesW(
    HANDLE hDirectory,
    LPVOID lpBuffer,
    DWORD nBufferLength,
    BOOL bWatchSubtree,
    DWORD dwNotifyFilter,
    LPDWORD lpBytesReturned,
    LPOVERLAPPED lpOverlapped,
    LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
    );
#endif /* _WIN32_WINNT >= 0x0400 */

可以看出,这是一个条件编译语句,只有定义了_WIN32_WINNT 这段代码才会被编译器加入,因此需要定义

_WIN32_WINNT ,其值应大于等于0x0400(好像0x0400表示Windows2000,0x0500表示Windows XP),且需要

定义在包含windows.h(或winbase.h)的定义语句之前。

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值