【发布时间】:2012-04-02 23:59:19
【问题描述】:
我正在使用 Visual Studio C/C++ 编写一个小型 Win32 应用程序,该应用程序使用 WDK 与 HID 设备通信。
我在选项 > 项目和解决方案 > VC++ 目录中添加了以下包含目录:
D:\WinDDK\7600.16385.1\inc\ddk
D:\WinDDK\7600.16385.1\inc\api
还有如下库目录:
D:\WinDDK\7600.16385.1\lib\win7\i386
我还将以下 lib 文件设置为 Project Properties > Configuration Properties > Linker > Additional Dependencies:
hid.lib
但是当我尝试编译时,我得到:
error LNK2028: unresolved token (0A000040) "unsigned char __stdcall HidD_SetOutputReport(void *,void *,unsigned long)" ...
虽然,这应该在 hid.lib 中
我错过了什么吗?
-- 更新-- 在 SooWeiTan 的建议下,我启用了 Properties->Linker->Show Progress,现在我在这里看到以下内容:
1> Searching C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib\MSCOREE.lib:
1> Found __CorExeMain@0
1> Loaded MSCOREE.lib(mscoree.dll)
1> Found __IMPORT_DESCRIPTOR_mscoree
1> Referenced in MSCOREE.lib(mscoree.dll)
1> Loaded MSCOREE.lib(mscoree.dll)
1> Found mscoree_NULL_THUNK_DATA
1> Referenced in MSCOREE.lib(mscoree.dll)
1> Loaded MSCOREE.lib(mscoree.dll)
1> Searching D:\WinDDK\7600.16385.1\lib\win7\i386\hid.lib:
1> Searching C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib\kernel32.lib:
...
...
...
据此,我认为它在 hid.lib 中没有发现任何有趣的东西,而它应该找到我的麻烦功能......知道为什么会发生这种情况吗?
【问题讨论】:
-
信息不足。示例:您可能正在尝试链接错误的位数。此外:使用 VisualDDK 并“免费”获取预配置项目。
-
我会启用 Properties->Linker->Show Progress 并观察输出。
-
@STATUS_ACCESS_DENIED 创建一个只与驱动程序对话的 Windows 应用程序是否有效?我以为那是你想写驱动程序的时候……
-
@SooWeiTan 我一回家就试试看
-
@Nicolae:对,对不起。那么DDKWizard可能是要走的路。它允许基于 msvcrt.dll(VS 6 C 运行时)创建“普通”Win32 项目。
标签: c++ c visual-studio linker