我正在使用 DiInstallDevice 功能 ( MSDN ) 来安装驱动程序。但是,在 x86 下构建解决方案时出现链接器错误,而 x64 版本是可以的。错误是 LNK2019,链接无法在 x86 版本的 newdev.lib 中找到函数。这是 x86 和 x64 版本的链接器输出:
x86:
搜索 C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\newdev.lib:
找到 _UpdateDriverForPlugAndPlayDevicesW@20
在 KernelDriverInstaller.obj 中引用
加载 newdev.lib(newdev.dll)
找到 __IMPORT_DESCRIPTOR_newdev
在 newdev.lib(newdev. dll)
加载 newdev.lib(newdev.dll)
发现 newdev_NULL_THUNK_DATA
引用在 newdev.lib(newdev.dll)
加载 newdev.lib(newdev.dll)
x64:
搜索 C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64\newdev.lib:
找到在 KernelDriverInstaller.obj
中引用的 DiInstallDevice
已加载 newdev.lib(newdev.dll)
找到在 KernelDriverInstaller.obj
中引用的 UpdateDriverForPlugAndPlayDevicesW
已加载 newdev。 lib(newdev.dll)
发现 __IMPORT_DESCRIPTOR_newdev
在 newdev.lib(newdev.dll)
中引用 在 newdev.lib (newdev.dll) 中引用
已加载 newdev.lib(newdev.dll) 在newdev.lib(newdev.dll) 中引用已
找到 newdev_NULL_THUNK_DATA newdev.lib(newdev.dll)
如您所见,链接器无法找到 x86 库的函数引用。有人知道这个问题以及如何解决它吗?我正在使用 Win7 x64 + VS2008 SP1。
谢谢