Windows 7 Win7 64位中未解析的外部符号\u DbgPrint

Windows 7 Win7 64位中未解析的外部符号\u DbgPrint,windows-7,driver,Windows 7,Driver,我使用VS2010在Win7 64位中编写驱动程序。驱动程序很简单,可以打印如下内容: #include <ntddk.h> VOID OnUnload( IN PDRIVER_OBJECT DriverObject ) { DbgPrint("My Driver Unloaded!"); } NTSTATUS DriverEntry( IN PDRIVER_OBJECT theDriverObject, IN PUNICODE_STRING theRegistryP

我使用VS2010在Win7 64位中编写驱动程序。驱动程序很简单,可以打印如下内容:

#include <ntddk.h>

VOID 
OnUnload( IN PDRIVER_OBJECT DriverObject )
{
    DbgPrint("My Driver Unloaded!");
}

NTSTATUS 
DriverEntry( IN PDRIVER_OBJECT theDriverObject, IN PUNICODE_STRING theRegistryPath )
{
    NTSTATUS status;

    DbgPrint("My Driver Loaded!");
    theDriverObject->DriverUnload = OnUnload;

    return STATUS_SUCCESS;
}
包括配置为:

C:\WinDDK\7600.16385.1\lib\win7\ia64;
C:\WinDDK\7600.16385.1\inc\ddk;
C:\WinDDK\7600.16385.1\inc\api;
C:\WinDDK\7600.16385.1\inc;

配置是否正常?我应该注意什么地方?如何修复它?

VS 2010不用于编译和构建驱动程序。但是,Visual studio 2012具有此功能


在VS 2012之前,您需要使用WinDDK来构建驱动程序(我不确定您现在是否可以下载)。VS 2010不用于编译和构建驱动程序。但是,Visual studio 2012具有此功能


在VS 2012之前,您需要使用WinDDK构建驱动程序(我不确定您现在是否可以下载它)。

我设置了“C\C++-预处理器-预处理器定义”项,如下所示:WIN32=100_X86=1;WINVER=0x501;DBG=1。我认为这是一个问题,但我不知道如何更正它
C:\WinDDK\7600.16385.1\lib\win7\amd64
ia64用于安腾,amd64用于x64thank sergmat。你是对的。它应该是amd64。但我再次得到“错误LNK2019:未解析的外部符号_DbgPrint”_X86=1;WINVER=0x501;DBG=1。我认为这是一个问题,但我不知道如何更正它
C:\WinDDK\7600.16385.1\lib\win7\amd64
ia64用于安腾,amd64用于x64thank sergmat。你是对的。它应该是amd64。但我再次收到“错误LNK2019:未解析的外部符号_DbgPrint”。我已经安装了WinDDK,您可以看到我设置了lib“C:\WinDDK\7600.16385.1\lib\win7\ia64;”。当我使用WinDDk的命令编译程序时,这并没有任何错误。所以我认为我的项目的配置是wrong@wenz,WinDDk编译器/机制用于编译驱动程序。VS2010将无法工作,因为它将尝试链接/查找用户空间运行库。我使用VS2010在WinXP和Win7(32位)中编写和编译驱动程序。没问题。如果您的配置正确,VS2010可以工作。我已经安装了WinDDK,您可以看到我设置了lib“C:\WinDDK\7600.16385.1\lib\win7\ia64;”。当我使用WinDDk的命令编译程序时,这并没有任何错误。所以我认为我的项目的配置是wrong@wenz,WinDDk编译器/机制用于编译驱动程序。VS2010将无法工作,因为它将尝试链接/查找用户空间运行库。我使用VS2010在WinXP和Win7(32位)中编写和编译驱动程序。没问题。如果配置正确,VS2010可以工作。