奇怪的preprocessor问题
驱动环境是 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) 这个东西有关??