首先,克隆uhd库:
git clone git://github.com/EttusResearch/uhd.git
然后签出 3.9.2 标签:
git checkout release_003_009_002
使用来自 Ettus (http://files.ettus.com/manual/page_build_guide.html) 的说明,安装 Fedora 部分下列出的依赖项:
sudo yum -y install boost-devel libusb1-devel python-mako doxygen python-docutils cmake make gcc gcc-c++
接下来,使用 CMake 生成 Makefile:
cd <uhd-repo-path>/host
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/uhd ../
我建议首先使用备用安装前缀来保留 3.5.3 版本,以防万一,但如果您不想这样做,只需运行:
cmake ../
而不是带有 -DCMAKE_INSTALL_PREFIX 标志的较长命令。 (注意:我无法让 cmake 找到已安装的 boost 版本,因此您可能需要对此进行一些其他研究,因为它本身可能是一个完全不同的 stackoverflow 帖子)
现在构建并安装 uhd 库:
make
make test
sudo make install
现在库已安装,您应该编辑 USRP_UHD/cpp/configure.ac 以便 PKG_CONFIG_PATH 指向您的安装前缀(在上面的标志中指定的前缀,或者如果您使用了默认值,请保留它, 因为它应该已经指向 /usr/local/lib/pkgconfig)。同样在 configure.ac 文件中,确保将 uhd 版本号更改为 3.9.2。
现在您应该可以重建 USRP_UHD 设备了:
./reconf && ./configure && make install
我不保证设备会针对新版本的 uhd 库进行构建,这将取决于已弃用的内容(如果有的话)以及在受支持版本和最新版本之间从库中删除的内容。
最后,如果您成功完成所有这些步骤并且指定了非标准安装前缀,则必须将此前缀添加到 LD_LIBRARY_PATH 或 /etc/ld.so.conf.d/ 脚本以便设备正确执行。