【发布时间】:2013-01-07 03:47:24
【问题描述】:
我使用 VS2010 在 Win7 64bit 中编写我的驱动程序。驱动很简单,打印一些东西,像这样:
#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;
}
当我完成它时,VS2010 说:错误 LNK2019:未解析的外部符号 _DbgPrint。我不知道为什么。 Win7 32bit的驱动程序是可以的。
我认为可能是Lib config错误,而我的Lib config是:
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;
配置好了吗?我应该注意的地方是什么?我该如何解决?
【问题讨论】:
-
我这样设置“C\C++ - 预处理器 - 预处理器定义”项:WIN32=100;_X86_=1;WINVER=0x501;DBG=1。我认为这是一个问题,但我不知道它有多正确
-
C:\WinDDK\7600.16385.1\lib\win7\amd64ia64 for itanium, amd64 for x64 -
感谢 sergmat。你说的对。应该是amd64。但我再次收到“错误 LNK2019:无法解析的外部符号 _DbgPrint”。