如何解决带有C ++ Builder 10.3社区版的WinUsb
有人成功将winusb.h
与Embarcadero的C ++ Builder 10.3社区版一起使用吗?
我最近下载了10.3,以更新几年前为Windows XP(使用Borland C ++ Builder 6)编写的PC桌面/笔记本电脑应用程序,该应用程序使用WinUSB函数来驱动(一次驱动)三个机器。
尝试在Windows 10上运行可执行文件会导致USB设备访问出现保护错误-在XP和Windows 7上运行良好。
USB设备已更新,可以在Windows 10上自动识别(谢谢P. Batard),并使用Microsoft在How to Access a USB Device by Using WinUSB Functions上的示例,我相信该设备没有问题-加载并我可以使用WinUSB函数调用来询问描述符,这些函数调用是从Windows 10计算机上的Visual Studio环境中进行编码的。
返回Embarcadero的C ++ Builder 10.3社区版-我可以编写一个应用程序来响应按钮的按下(编译,链接和执行正常),但是当我包含winusb.h
中的任何功能时,我出现错误:
[ilink32错误]错误:从(已编辑路径)UNITx.OBJ引用了未解决的外部“ WinUsb_(func)”
通常,我将其表示无法包含必需的标头,或者无法解析该标头(或lib)的路径,但我可以肯定情况并非如此-头文件肯定是“包括”的,并且我已经编辑了IDE路径,以显式包括winusb.h
和winusb.lib
文件目录-它们被“深埋”得很深,但是肯定存在。我什至尝试将两个文件都复制到项目目录,但无济于事。
我已经搜索了Embarcadero社区站点,但是找不到对“ winusb”的引用。
我意识到这是一个比C ++ Builder 6复杂得多的环境,我很可能会丢失一些东西,但是我无法撼动IDE中某些东西无法正常工作的感觉。应该-其他标头链接正常。
想法,有人吗?
解决方法
仅将IDE指向包含{
"example1": {
"example2": {
"example3": 4
}
}
}
的文件夹是不够的,您实际上必须将该Winusb.lib
文件添加到您的C ++项目中,或者使用{ {1}}语句,否则.lib
文件不会传递到链接程序来解决您对WinUSB函数的调用。
C ++ Builder 6中的大多数#pragma comment(lib,"Winusb.lib")
文件(顺便说一句)也需要执行此额外步骤。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。