我想使用SoapySDR编写C代码来控制我的LimeSDR USB。但是,似乎未安装SoapySDR,但在安装驱动程序时应将其包括在内。
因此,首先,使用Wiki中的步骤安装LimeSDR硬件的驱动程序,如下所示:
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt-get update
sudo apt-get install limesuite liblimesuite-dev limesuite-udev limesuite-images
sudo apt-get install soapysdr-tools soapysdr-module-lms7
#soapysdr-tools use to be called just soapysdr on older packages
sudo apt-get install soapysdr soapysdr-module-lms7
然后,我测试了以下命令:
$ SoapySDRUtil --info
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Lib Version: v0.7.1-myriadrf1~ubuntu18.04
API Version: v0.7.1
ABI Version: v0.7
Install root: /usr
Search path: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7
Search path: /usr/local/lib/x86_64-linux-gnu/SoapySDR/modules0.7 (missing)
Search path: /usr/local/lib/SoapySDR/modules0.7 (missing)
Module found: /usr/lib/x86_64-linux-gnu/SoapySDR/modules0.7/libLMS7Support.so (19.01.0)
Available factories... lime
Available converters...
- CF32 -> [CF32, CS16, CS8, CU16, CU8]
- CS16 -> [CF32, CS16, CS8, CU16, CU8]
- CS32 -> [CS32]
- CS8 -> [CF32, CS16, CS8, CU16, CU8]
- CU16 -> [CF32, CS16, CS8]
- CU8 -> [CF32, CS16, CS8]
- F32 -> [F32, S16, S8, U16, U8]
- S16 -> [F32, S16, S8, U16, U8]
- S32 -> [S32]
- S8 -> [F32, S16, S8, U16, U8]
- U16 -> [F32, S16, S8]
- U8 -> [F32, S16, S8]
当我尝试运行一个简单的代码时:
#include <SoapySDR/Device.h>
#include <SoapySDR/Formats.h>
#include <stdio.h> //printf
#include <stdlib.h> //free
#include <complex.h>
int main(void)
{
size_t length;
//enumerate devices
SoapySDRKwargs *results = SoapySDRDevice_enumerate(NULL, &length);
for (size_t i = 0; i < length; i++)
{
printf("Found device #%d: ", (int)i);
for (size_t j = 0; j < results[i].size; j++)
{
printf("%s=%s, ", results[i].keys[j], results[i].vals[j]);
}
printf("\n");
printf("Done\n");
return EXIT_SUCCESS;
}
我编译如下
gcc -std=c99 API_example.c -lSoapySDR && ./a.out
我收到以下错误:
API_example.c:1:10: fatal error: SoapySDR/Device.h: No such file or directory
#include <SoapySDR/Device.h>
^~~~~~~~~~~~~~~~~~~
有人知道如何解决它吗?
最佳答案
几分钟前,我遇到了完全相同的问题。完全按照本指南进行操作即可。 https://github.com/pothosware/SoapySDR/wiki/BuildGuide#ubuntu
我假设您正在运行一个debian发行版,但是如果没有,该指南也将为您提供帮助。
须藤apt-get install cmake g++
须藤apt-get install libpython-dev python-numpy swig
git clone https://github.com/pothosware/SoapySDR.git
光盘SoapySDR
mkdir构建
光盘制作
cmake ..
使-j4
须藤使安装
sudo ldconfig#在Debian系统上需要
SoapySDRUtil-信息
现在您应该可以编译了。即使我以为已安装它,也遇到了与您相同的问题。试一下,它应该可以帮助您。
关于c - 如何使用LimeSDR USB正确安装SoapySDR,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55850748/