如何检测 USRP USB 类型?

How to detect USRP usb type?

本文关键字:USRP USB 类型 检测 何检测      更新时间:2023-10-16

当我在我的main中包含uhd/usb_control.hpp时.cpp :

#include <uhd/transport/usb_control.hpp>
/* Some other includes */
int main (void)
{
uhd::transport::usb_control::sptr usbSpeed;
usbSpeed = uhd::transport::usb_control::make(handle, 0);
/* `handle` is a `usb_device_handle::vid_pid_pair_t` */
}

我从这里得到错误:

static sptr make(usb_device_handle::sptr handle, const int interface);

错误:
意外的令牌结构。您是否忘记了";">
结构:缺少标记名称

还有一个奇怪的错误:

usbSpeed = uhd::transport::usb_control::make(handle, 0);

错误:
无法将参数 2 从int转换为const int

我为uhd::transport::usb_control::make找到的唯一实现是 uhd/transport/usb_dummy_impl.cpp它只抛出异常。

环境信息编译器
MS Visual Studio 2017操作系统:MS Windows 10
C++标准:17

如何修复这些错误?我只检测USRP USB类型。为此,我阅读了uhd源代码,并找到了uhd/transport/usb_control.hpp,但是我遇到了这些错误。

也许这种意外行为的原因与您包含的文件以及其中一些文件之间的冲突有关,正如您提到的,除了您还有其他一些包含之外#include <uhd/transport/usb_control.hpp>。 我建议将此包含行向上和向下移动其他包含并再次测试您的代码。

希望我的建议有用。