C++ 尝试在c+;中创建USRP对象时分配错误+;

C++ 尝试在c+;中创建USRP对象时分配错误+;,c++,visual-studio,usrp,uhd,C++,Visual Studio,Usrp,Uhd,我在使用UHD库时遇到一个错误-“分配错误” 我正在尝试编译一些基本代码,以了解更多关于UHD库的信息。编译完程序后,我遇到了一个错误 代码: int-UHD\u-SAFE\u-MAIN(int-argc,char*argv[]){ uhd::设置线程优先级安全(); std::字符串设备参数(“addr=192.168.10.2”); std::string subdev(“A:0”); 标准::字符串ant(“TX/RX”); 标准::字符串参考(“内部”); 倍率(1e6); 双频(915

我在使用UHD库时遇到一个错误-“分配错误”

我正在尝试编译一些基本代码,以了解更多关于UHD库的信息。编译完程序后,我遇到了一个错误

代码:

int-UHD\u-SAFE\u-MAIN(int-argc,char*argv[]){
uhd::设置线程优先级安全();
std::字符串设备参数(“addr=192.168.10.2”);
std::string subdev(“A:0”);
标准::字符串ant(“TX/RX”);
标准::字符串参考(“内部”);
倍率(1e6);
双频(915e6);
双增益(10);
双倍体重(1e6);
//创建一个usrp设备
std::cout“我没有将任何URSP设备连接到我的计算机。”

如果未将USRP连接到正在运行此代码的计算机,则无法执行此代码

当您调用uhd::usrp::multi_usrp::make(设备参数)时; uhd正在尝试使用您在设备参数中指定的IP地址连接到USRP


请尝试将usrp连接到您的计算机,然后重试

我遇到了相同的错误,您是否解决了问题?
int UHD_SAFE_MAIN(int argc, char *argv[]) {
uhd::set_thread_priority_safe();

std::string device_args("addr=192.168.10.2");
std::string subdev("A:0");
std::string ant("TX/RX");
std::string ref("internal");

double rate(1e6);
double freq(915e6);
double gain(10);
double bw(1e6);

//create a usrp device
std::cout << std::endl;
std::cout << boost::format("Creating the usrp device with: %s...") %device_args << std::endl;
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(device_args);


// Lock mboard clocks
std::cout << boost::format("Lock mboard clocks: %f") % ref << std::endl;
usrp->set_clock_source(ref);

//always select the subdevice first, the channel mapping affects the other settings
std::cout << boost::format("subdev set to: %f") % subdev << std::endl;
usrp->set_rx_subdev_spec(subdev);
std::cout << boost::format("Using Device: %s") % usrp->get_pp_string() << std::endl;

//set the sample rate
if (rate <= 0.0) {
    std::cerr << "Please specify a valid sample rate" << std::endl;
    return ~0;
}

// set sample rate
std::cout << boost::format("Setting RX Rate: %f Msps...") % (rate / 1e6) << std::endl;
usrp->set_rx_rate(rate);
std::cout << boost::format("Actual RX Rate: %f Msps...") % (usrp->get_rx_rate() / 1e6) << std::endl << std::endl;

// set freq
std::cout << boost::format("Setting RX Freq: %f MHz...") % (freq / 1e6) << std::endl;
uhd::tune_request_t tune_request(freq);
usrp->set_rx_freq(tune_request);
std::cout << boost::format("Actual RX Freq: %f MHz...") % (usrp->get_rx_freq() / 1e6) << std::endl << std::endl;

// set the rf gain
std::cout << boost::format("Setting RX Gain: %f dB...") % gain << std::endl;
usrp->set_rx_gain(gain);
std::cout << boost::format("Actual RX Gain: %f dB...") % usrp->get_rx_gain() << std::endl << std::endl;

// set the IF filter bandwidth
std::cout << boost::format("Setting RX Bandwidth: %f MHz...") % (bw / 1e6) << std::endl;
usrp->set_rx_bandwidth(bw);
std::cout << boost::format("Actual RX Bandwidth: %f MHz...") % (usrp->get_rx_bandwidth() / 1e6) << std::endl << std::endl;

// set the antenna
std::cout << boost::format("Setting RX Antenna: %s") % ant << std::endl;
usrp->set_rx_antenna(ant);
std::cout << boost::format("Actual RX Antenna: %s") % usrp->get_rx_antenna() << std::endl << std::endl;

return EXIT_SUCCESS;
//create a usrp device
std::cout << std::endl;
std::cout << boost::format("Creating the usrp device with: %s...") %device_args << std::endl;
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(device_args);