奇怪的preprocessor问题

larrylei 2006-05-24 05:40:06
驱动环境是 ddk 2003 sp1 /vs2005/ds3.20/ 我用的是 hellowwdm 这个例子,c/c++ 中的 preprocessor 里的 preprocessor definitions 里有一个 数据是 _WIN32_WINNT=$(_WIN32_WINNT)

如果我这样编译就会出现错误 fatal error C1017: invalid integer constant expression
错误位置是ntdef.h 中的 line 1100 : #if _WIN32_WINNT >= 0x0501 如果我把 _WIN32_WINNT=$(_WIN32_WINNT) 去掉 就不会报这个错,这是个什么问题??

我得vdm_wdm.lib 编译时也出现这个错误,去掉相关文件倒是编译成功,但是好像不能用

hellowwdm编译时会报错:
HelloDev.obj : error LNK2019: unresolved external symbol ___CxxFrameHandler3 referenced in function __ehhandler$??0SimpleWdmDevice@@QAE@PAU_DEVICE_OBJECT@@K@Z
HelloWdm.obj : error LNK2001: unresolved external symbol ___CxxFrameHandler3
HelloDev.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)
HelloWdm.obj : error LNK2019: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@) referenced in function _DriverEntry@8
vdw_wdm.lib(kpnpdev.obj) : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)
vdw_wdm.lib(kdevice.obj) : error LNK2001: unresolved external symbol "const type_info::`vftable'" (??_7type_info@@6B@)

是不是和 _WIN32_WINNT=$(_WIN32_WINNT) 这个东西有关??
...全文
110 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ljkong 2006-05-24
_WIN32_WINNT这个是跟你系统平台的版本有关

Minimum system required Macros to define
Windows "Longhorn" _WIN32_WINNT>=0x0600
WINVER>=0x0600

Windows Server 2003 _WIN32_WINNT>=0x0502
WINVER>=0x0502

Windows XP _WIN32_WINNT>=0x0501
WINVER>=0x0501

Windows 2000 _WIN32_WINNT>=0x0500
WINVER>=0x0500

Windows NT 4.0 _WIN32_WINNT>=0x0400
WINVER>=0x0400

Windows Me _WIN32_WINDOWS=0x0500
WINVER>=0x0500

Windows 98 _WIN32_WINDOWS>=0x0410
WINVER>=0x0410

Windows 95 _WIN32_WINDOWS>=0x0400
WINVER>=0x0400

Internet Explorer 7.0 _WIN32_IE>=0x0700
Internet Explorer 6.0 SP2 _WIN32_IE>=0x0603
Internet Explorer 6.0 SP1 _WIN32_IE>=0x0601
Internet Explorer 6.0 _WIN32_IE>=0x0600
Internet Explorer 5.5 _WIN32_IE>=0x0550
Internet Explorer 5.01 _WIN32_IE>=0x0501
Internet Explorer 5.0, 5.0a, 5.0b _WIN32_IE>=0x0500
Internet Explorer 4.01 _WIN32_IE>=0x0401
Internet Explorer 4.0 _WIN32_IE>=0x0400
Internet Explorer 3.0, 3.01, 3.02 _WIN32_IE>=0x0300
回复
相关推荐
发帖
驱动开发/核心开发
创建于2007-09-28

2.1w+

社区成员

硬件/嵌入开发 驱动开发/核心开发
申请成为版主
帖子事件
创建了帖子
2006-05-24 05:40
社区公告
暂无公告