Visual Studio 2005上64位操作系统的驱动程序生成错误

时间:2011-05-26 08:00:28

标签: c++ wdk

我正在使用Visual Studio 2005和WDK 7600.16385.1.i正在编译用户模式打印机驱动程序它将成功构建当我为平台选择“Win32”但是当我为“x64”构建此驱动程序时我得到编译器错误tha是如下所示

  

C:\ WinDDK \ 7600.16385.1 \ inc \ api \ winnt.h(135):致命错误C1189:#error:“没有目标架构”

我检查了winnt.h,代码在下面给出

    #if defined(_WIN64)

#if defined(_AMD64_)
#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
#elif defined(_IA64_)
#define PROBE_ALIGNMENT( _s ) (TYPE_ALIGNMENT( _s ) > TYPE_ALIGNMENT( DWORD ) ? \
                              TYPE_ALIGNMENT( _s ) : TYPE_ALIGNMENT( DWORD ))
#else
#error "No Target Architecture"
#endif

#define PROBE_ALIGNMENT32( _s ) TYPE_ALIGNMENT( DWORD )

#else
下面给出了

和C / C ++命令行开关(从项目“property-> C / C ++ - >命令行”中复制)

/Od /Oi /I "..\inc" /I "C:\WinDDK\WXP\inc\wxp" /I "C:\WinDDK\WXP\inc\crt" /I "C:\WinDDK\WXP\inc" /D "_X86_=1" /D "i386=1" /D "STD_CALL" /D "CONDITION_HANDLING=1" /D "WIN32_LEAN_AND_MEAN=1" /D "NT_UP=1" /D "NT_INST=0" /D "WIN32=100" /D "_NT1X_=100" /D "_WIN32_WINNT=0X0500" /D "WINNT" /D "DEVL=1" /D "FPO=0" /D "UNICODE" /D "_IDWBUILD" /D "USERMODE_DRIVER" /D "DBG=1" /D "DEBUG" /D "RDRDBG" /D "SRVDBG" /GF /FD /MTd /Zp8 /GS- /Gy /Fo".\Debug/" /Fd"x64\Debug\vc80.pdb" /W1 /nologo /c /Z7 /Gz /TP /FI "..\inc\warning.h" /errorReport:prompt

请尽快帮助我

2 个答案:

答案 0 :(得分:1)

我最好的猜测是在项目属性中定义_AMD_64_(假设你使用的是x64而不是ia64)

答案 1 :(得分:0)

为什么要尝试在Visual Studio中构建它?使用WDK和标准构建过程(即sources / makefile和build)。

-Scott