AlexandreRouma/SDRPlusPlus
GitHub: AlexandreRouma/SDRPlusPlus
一款跨平台、模块化设计的开源软件无线电接收与分析软件,支持多频点同时监听和广泛的 SDR 硬件设备。
Stars: 5755 | Forks: 786
# SDR++, 简洁高效的 SDR 软件
 SDR++ 是一款跨平台、开源的 SDR 软件,旨在做到无冗余且易于使用。  ## 功能特性 * 多 VFO * 广泛的硬件支持(通过 SoapySDR 和专用模块) * SIMD 加速 DSP * 跨平台(Windows, Linux, MacOS 和 BSD) * 尽可能全速更新瀑布图,使浏览信号更轻松、更愉悦 * 模块化设计(可轻松编写您自己的插件) # 安装说明 ## 每夜构建版 (Nightly Builds) 每夜构建版包含最新的功能和错误修复。它们通常与[正式发布版](https://github.com/AlexandreRouma/SDRPlusPlus/releases)一样稳定,但通常在代码更改后的几分钟到几小时内即可使用。 您可以在[这里](https://www.sdrpp.org/nightly)下载。它将重定向到 GitHub 上最新的每夜构建版本,向下滚动到 "Artifacts" 并点击适合您操作系统的版本。 GitHub 目前需要登录账户才能下载文件,请确保您已登录。 ## Windows 从 [Releases 页面](https://github.com/AlexandreRouma/SDRPlusPlus/releases)下载最新版本并解压到您选择的目录。 要创建桌面快捷方式,右键点击 exe 文件并选择 `发送到 -> 桌面快捷方式`,然后将桌面上的快捷方式重命名为您想要的名称。 ## Linux ### 基于 Debian 的系统 (Ubuntu, Mint 等) 从 [Releases 页面](https://github.com/AlexandreRouma/SDRPlusPlus/releases)下载最新版本并解压到您选择的目录。 然后,使用 apt 进行安装: ``` sudo apt install path/to/the/sdrpp_debian_amd64.deb ``` **重要提示:您必须为您 SDR 安装驱动程序。请按照制造商的说明在您的特定发行版上进行操作。** ### 基于 Arch 的系统 按照以下说明从源码安装。 **警告:sdrpp-git AUR 包已非官方包,不建议使用。** ### 其他 目前没有针对其他发行版的现成软件包,对于这些系统,您需要[从源码构建](https://github.com/AlexandreRouma/SDRPlusPlus#building-on-linux--bsd)。 ## MacOS 从最新的[每夜构建版](https://www.sdrpp.org/nightly)下载应用程序包 (app bundle)。 ## BSD 目前没有 BSD 软件包,请参阅 [Building on Linux / BSD](https://github.com/AlexandreRouma/SDRPlusPlus#building-on-linux--bsd) 获取从源码构建的说明。 # 在 Windows 上构建 首选 IDE 是 [VS Code](https://code.visualstudio.com/),以便在不同平台上获得相似的开发体验,并使用命令行通过 CMake 进行构建。 ## 安装依赖 * [cmake](https://cmake.org) * [vcpkg](https://vcpkg.io) * [PothosSDR](https://github.com/pothosware/PothosSDR) (这将安装大多数 SDR 的库。您必须将其安装在 `C:/Program Files/PothosSDR`) * [RtAudio](https://www.music.mcgill.ca/~gary/rtaudio/) (您必须构建并将其安装在 `C:/Program Files (x86)/RtAudio/`) 之后,使用 vcpkg 安装以下依赖: * fftw3 * glfw3 * zstd 您可能会构建 64 位版本,因此请确保 vcpkg 使用 `.\vcpkg.exe install:x64-windows` 安装正确的版本。
## 使用命令行构建
**重要:** 将 `` 替换为 vcpkg 的安装目录。
```
mkdir build
cd build
cmake .. "-DCMAKE_TOOLCHAIN_FILE=/scripts/buildsystems/vcpkg.cmake" -G "Visual Studio 16 2019"
cmake --build . --config Release
```
## 运行开发版本
### 创建新的配置根目录
```
./create_root.bat
```
这将创建 `root_dev` 目录,用于保存 sdrpp 和模块的配置。
接下来,您需要编辑 `root_dev/config.json` 文件以指向已构建的模块。如果文件夹中缺少该文件,请运行一次应用程序,它将创建一个具有默认值的配置文件 —— 稍后会介绍如何运行应用程序。
### 从命令行运行 SDR++
在顶级目录下,您可以直接运行:
```
./build/Release/sdrpp.exe -r root_dev -c
```
或者,如果您希望从构建目录(例如 `build/Release`)运行,并调整指向 `root_dev` 文件夹的相对路径:
```
./sdrpp.exe -r ../../root_dev -c
```
可选的 `-c` 参数用于保持控制台活动状态,以便查看错误消息。
由于所有路径都是相对的,对于其余的命令行说明,我们将假设您使用前一条命令从顶级目录运行。
如前所述,您需要编辑 `root_dev/config.json` 以添加已构建的模块。在默认配置文件中,您需要在 `modules` 部分添加路径。将您希望使用的所有模块添加到此列表中。
```
...
"modules": [
"./build/radio/Release/radio.dll",
"./build/recorder/Release/recorder.dll",
"./build/rtl_tcp_source/Release/rtl_tcp_source.dll",
"./build/audio_sink/Release/audio_sink.dll"
]
...
```
您还需要更改资源和模块目录的位置,对于开发环境,我建议:
```
...
"modulesDirectory": "root_dev/modules",
...
"resourcesDirectory": "root_dev/res",
...
```
请记住,这些路径将相对于运行目录。
## 安装 SDR++
如果您选择运行 SDR++ 进行开发,则不需要此步骤。
首先,将 `build/Release/` 中的 exe 和 DLL 复制到 `root_dev`。
接下来,您需要复制所有已编译的模块。为此,将模块的 DLL 文件(位于下面给出的构建文件夹中)复制到 `root_dev/modules` 目录,并将其他 DLL(名称与模块不完全匹配的)复制到 `root_dev` 目录。
构建的模块将包括以下部分(对您希望使用的所有模块重复上述说明):
* `build/radio/Release/`
* `build/recorder/Release/`
* `build/rtl_tcp_source/Release/`
* `build/spyserver_source/Release/`
* `build/airspyhf_source/Release/`
* `build/plutosdr_source/Release/`
* `build/audio_sink/Release/`
# 在 Linux / BSD 上构建
## 选择您希望构建的模块
根据您想要构建的模块,您需要安装一些额外的依赖项。
请参阅本自述文件下方的模块列表表格,了解每个模块的名称、依赖项和构建选项。
然后,构建选项将传递给 cmake 命令,例如 `cmake .. -DOPTION_NAME_HERE=ON -DANOTHER_OPTION_HERE=OFF` 等等...
## 安装依赖
* cmake
* fftw3
* glfw
* libvolk
* zstd
接下来根据您希望构建的模块安装依赖项(参见上一步)
注意:确保您使用的是 GCC 8 或更高版本,因为旧版本没有内置 `std::filesystem`。
## 构建
将 `` 替换为您希望用于构建的线程数
```
mkdir build
cd build
cmake ..
make -j
```
## 创建新的根目录
```
sh ./create_root.sh
```
## 运行开发版本
如果您希望安装 SDR++,请跳到下一步
首先从构建目录运行 SDR++ 以生成默认配置文件
```
./sdrpp -r ../root_dev/
```
然后,您需要编辑 `root_dev/config.json` 文件以指向已构建的模块。以下是它应该看起来的示例:
```
...
"modules": [
"./build/radio/radio.so",
"./build/recorder/recorder.so",
"./build/rtl_tcp_source/rtl_tcp_source.so",
"./build/audio_sink/audio_sink.so"
]
...
```
注意:您可以通过在构建目录中运行 `find . | grep '\.so' | sed 's/^/"/' | sed 's/$/",/' | sed '/sdrpp_core.so/d'` 来自动生成此列表。
您还需要更改资源和模块目录的位置,对于开发环境,我建议:
```
...
"modulesDirectory": "./root_dev/modules",
...
"resourcesDirectory": "./root_dev/res",
...
```
请记住,这些路径将相对于运行目录。
当然,记得为所有已构建且您希望使用的模块添加条目。
接下来,从顶级目录,您可以直接运行:
```
./build/sdrpp -r root_dev
```
或者,如果您希望从构建目录运行,则需要更正 config.json 文件中的目录,然后运行:
```
./sdrpp -r ../root_dev
```
## 安装 SDR++
要安装 SDR++,请在您的 ``build`` 文件夹中运行以下命令:
```
sudo make install
```
# 在 MacOS 上构建
警告:这不适合胆小的人,说明主要未经测试。建议改用[每夜构建版](https://www.sdrpp.org/nightly)。
## 安装依赖
依赖项与 Linux 完全相同,请参阅该部分以了解核心依赖项,以及模块列表以了解每个模块的依赖项。
您需要使用 Homebrew 安装依赖项。
确保安装 portaudio,稍后会用到。
示例安装命令:
```
brew install libusb fftw glfw airspy airspyhf portaudio hackrf rtl-sdr libbladerf codec2 zstd
pip3 install mako
```
### 安装 volk
您需要从源码安装 volk。按照其仓库中的说明进行操作。在 M1 上还需要一些额外的操作。
## 构建
除了 Linux 的参数外,您还需要一些特殊的 cmake 参数。您需要启用 portaudio sink 模块 `-DOPT_BUILD_PORTAUDIO_SINK=ON -DOPT_BUILD_NEW_PORTAUDIO_SINK=ON` 并禁用通常的 rtaudio sink `-DOPT_BUILD_AUDIO_SINK=OFF`,以及告诉 SDR++ 它将作为 MacOS bundle 运行的选项 `-DUSE_BUNDLE_DEFAULTS=ON`。在早于 Catalina (10.15) 的 MacOS 版本上,您还需要使用内部 std::filesystem,因为操作系统无法提供它 `-DOPT_OVERRIDE_STD_FILESYSTEM=ON`。
以下是撰写本文时将构建几乎所有模块的构建命令示例。您可以随时查看 CI 脚本以获取最新参数以防万一,但这应该可以工作。从 SDRPlusPlus 目录的顶部:
```
mkdir build
cd build
cmake .. -DOPT_BUILD_SOAPY_SOURCE=OFF -DOPT_BUILD_BLADERF_SOURCE=ON -DOPT_BUILD_AUDIO_SOURCE=OFF -DOPT_BUILD_AUDIO_SINK=OFF -DOPT_BUILD_PORTAUDIO_SINK=ON -DOPT_BUILD_NEW_PORTAUDIO_SINK=ON -DOPT_BUILD_M17_DECODER=ON -DUSE_BUNDLE_DEFAULTS=ON -DCMAKE_BUILD_TYPE=Release
make -j
```
## 创建 bundle 并安装
从 SDRPlusPlus 目录的顶部:
```
sh make_macos_bundle.sh ./build ./SDR++.app
```
这将创建一个 `SDR++.app` bundle,您可以像安装任何其他 MacOS 应用程序一样通过将其拖入 Applications 来安装。
# 模块列表
并非所有模块都默认构建。我决定禁用那些具有大型库、无法通过包管理器(或 pothos)安装的库以及仍处于测试阶段的模块的构建。
测试版模块通常包含在发行版中,但在 SDR++ 中未启用(需要实例化)。
## 源 (Sources)
| 名称 | 阶段 | 依赖项 | 选项 | 默认构建| 发行版中构建 | SDR++ 中默认启用 |
|----------------------|------------|-------------------|--------------------------------|:---------------:|:-----------------------:|:---------------------------:|
| airspy_source | Working | libairspy | OPT_BUILD_AIRSPY_SOURCE | ✅ | ✅ | ✅ |
| airspyhf_source | Working | libairspyhf | OPT_BUILD_AIRSPYHF_SOURCE | ✅ | ✅ | ✅ |
| audio_source | Working | rtaudio | OPT_BUILD_AUDIO_SOURCE | ✅ | ✅ | ✅ |
| bladerf_source | Working | libbladeRF | OPT_BUILD_BLADERF_SOURCE | ⛔ | ✅ (not Debian Buster) | ✅ |
| file_source | Working | - | OPT_BUILD_FILE_SOURCE | ✅ | ✅ | ✅ |
| fobossdr_source | Working | libfobos | OPT_BUILD_FOBOSSDR_SOURCE | ✅ | ✅ | ✅ |
| hackrf_source | Working | libhackrf | OPT_BUILD_HACKRF_SOURCE | ✅ | ✅ | ✅ |
| harogic_source | Beta | htra_api | OPT_BUILD_HAROGIC_SOURCE | ⛔ | ⛔ | ✅ |
| hermes_source | Beta | - | OPT_BUILD_HERMES_SOURCE | ✅ | ✅ | ✅ |
| kcsdr_source | Unfinished | libkcsdr | OPT_BUILD_KCSDR_SOURCE | ⛔ | ⛔ | ⛔ |
| limesdr_source | Working | liblimesuite | OPT_BUILD_LIMESDR_SOURCE | ⛔ | ✅ | ✅ |
| network_source | Beta | - | OPT_BUILD_NETWORK_SOURCE | ✅ | ✅ | ✅ |
| perseus_source | Beta | libperseus-sdr | OPT_BUILD_PERSEUS_SOURCE | ⛔ | ✅ | ✅ |
| plutosdr_source | Working | libiio, libad9361 | OPT_BUILD_PLUTOSDR_SOURCE | ✅ | ✅ | ✅ |
| rfnm_source | Beta | librfnm | OPT_BUILD_RFNM_SOURCE | ⛔ | ✅ | ✅ |
| rfspace_source | Working | - | OPT_BUILD_RFSPACE_SOURCE | ✅ | ✅ | ✅ |
| rtl_sdr_source | Working | librtlsdr | OPT_BUILD_RTL_SDR_SOURCE | ✅ | ✅ | ✅ |
| rtl_tcp_source | Working | - | OPT_BUILD_RTL_TCP_SOURCE | ✅ | ✅ | ✅ |
| sdrplay_source | Working | SDRplay API | OPT_BUILD_SDRPLAY_SOURCE | ⛔ | ✅ | ✅ |
| sdrpp_server_source | Working | - | OPT_BUILD_SDRPP_SERVER_SOURCE | ✅ | ✅ | ✅ |
| soapy_source | Deprecated | soapysdr | OPT_BUILD_SOAPY_SOURCE | ⛔ | ⛔ | ⛔ |
| spectran_source | Unfinished | RTSA Suite | OPT_BUILD_SPECTRAN_SOURCE | ⛔ | | ⛔ |
| spectran_http_source | Beta | - | OPT_BUILD_SPECTRAN_HTTP_SOURCE | ✅ | ✅ | ✅ |
| spyserver_source | Working | - | OPT_BUILD_SPYSERVER_SOURCE | ✅ | ✅ | ✅ |
| usrp_source | Beta | libuhd | OPT_BUILD_USRP_SOURCE | ⛔ | ⛔ | ✅ |
## 输出 (Sinks)
| 名称 | 阶段 | 依赖项 | 选项 | 默认构建| 发行版中构建 | SDR++ 中默认启用 |
|--------------------|------------|--------------|------------------------------|:---------------:|:----------------:|:---------------------------:|
| android_audio_sink | Working | - | OPT_BUILD_ANDROID_AUDIO_SINK | ⛔ | ✅ | ✅ (仅限 Android) |
| audio_sink | Working | rtaudio | OPT_BUILD_AUDIO_SINK | ✅ | ✅ | ✅ |
| network_sink | Working | - | OPT_BUILD_NETWORK_SINK | ✅ | ✅ | ✅ |
| new_portaudio_sink | Working | portaudio | OPT_BUILD_NEW_PORTAUDIO_SINK | ⛔ | ✅ | ⛔ |
| portaudio_sink | Working | portaudio | OPT_BUILD_PORTAUDIO_SINK | ⛔ | ✅ | ⛔ |
## 解码器 (Decoders)
| Name | Stage | Dependencies | Option | Built by default| Built in Release | Enabled in SDR++ by default |
|---------------------|------------|--------------|-------------------------------|:---------------:|:----------------:|:---------------------------:|
| atv_decoder | Unfinished | - | OPT_BUILD_ATV_DECODER | ⛔ | ⛔ | ⛔ |
| dab_decoder | Unfinished | - | OPT_BUILD_DAB_DECODER | ⛔ | ⛔ | ⛔ |
| falcon9_decoder | Unfinished | ffplay | OPT_BUILD_FALCON9_DECODER | ⛔ | ⛔ | ⛔ |
| kgsstv_decoder | Unfinished | - | OPT_BUILD_KGSSTV_DECODER | ⛔ | ⛔ | ⛔ |
| m17_decoder | Working | - | OPT_BUILD_M17_DECODER | ⛔ | ✅ | ⛔ |
| meteor_demodulator | Working | - | OPT_BUILD_METEOR_DEMODULATOR | ✅ | ✅ | ⛔ |
| pager_decoder | Unfinished | - | OPT_BUILD_PAGER_DECODER | ⛔ | ⛔ | ⛔ |
| radio | Working | - | OPT_BUILD_RADIO | ✅ | ✅ | ✅ |
| radio | Unfinished | - | OPT_BUILD_VOR_RECEIVER | ⛔ | ⛔ | ⛔ |
| weather_sat_decoder | Unfinished | - | OPT_BUILD_WEATHER_SAT_DECODER | ⛔ | ⛔ | ⛔ |
## 杂项 (Misc)
| Name | Stage | Dependencies | Option | Built by default | Built in Release | Enabled in SDR++ by default |
|---------------------|------------|--------------|-----------------------------|:----------------:|:----------------:|:---------------------------:|
| discord_integration | Working | - | OPT_BUILD_DISCORD_PRESENCE | ✅ | ✅ | ⛔ |
| frequency_manager | Working | - | OPT_BUILD_FREQUENCY_MANAGER | ✅ | ✅ | ✅ |
| iq_exporter | Working | - | OPT_BUILD_IQ_EXPORTER | ✅ | ✅ | ⛔ |
| recorder | Working | - | OPT_BUILD_RECORDER | ✅ | ✅ | ✅ |
| rigctl_client | Unfinished | - | OPT_BUILD_RIGCTL_CLIENT | ✅ | ✅ | ⛔ |
| rigctl_server | Working | - | OPT_BUILD_RIGCTL_SERVER | ✅ | ✅ | ✅ |
| scanner | Beta | - | OPT_BUILD_SCANNER | ✅ | ✅ | ⛔ |
| scheduler | Unfinished | - | OPT_BUILD_SCHEDULER | ⛔ | ⛔ | ⛔ |
# 故障排除
首先,请确保您运行的是最新的自动构建版本。如果您的问题与错误有关,它很可能在更高版本中已修复
## SDR++ 崩溃后无论如何都无法再次启动
这是 1.0.0 中的一个错误,已在 1.0.1 中修复
在某些情况下,如果在保存配置时发生崩溃,配置文件将损坏,SDR++ 因此拒绝启动。
此问题现已修复。如果配置文件损坏,它将重置为默认状态。
## 启动时出现 "hash collision" 错误
您可能在 Ubuntu/Debian 上安装了 `soapysdr-module-all` 包。如果没有,这仍然是由多个 soapy 模块发生冲突引起的 SoapySDR 错误。卸载与 SoapySDR 相关的任何内容,然后安装 soapysdr 本身以及您实际需要的 soapy 模块。
## "我看不到 -在此插入模块名称-,怎么回事?"
如果该模块包含在更高版本的更新中,则它未在配置中启用。解决此问题的最简单方法是删除 `config.json` 文件并让 SDR++ 重新创建它(您将丢失与主 UI 相关的设置,如 VFO 颜色、缩放级别和主题)。
然而,最好的选择是编辑配置文件以添加您希望启用的模块的实例(请参阅模块列表)。
## SDR++ 在停止 RTL-SDR 时崩溃
这是 libusb1.4 最近引入的一个错误
要解决此问题,只需降级到 libusb1.3
## SDR++ 在启动 HackRF 时崩溃
如果您还启用了 SoapySDR 模块,这是 libhackrf 中的一个错误。这是由于 libhackrf 没有检查它是否已初始化引起的。
在发布修复的 libhackrf 版本之前的解决方案是从 SDR++ 禁用 soapy_source 模块。为此,进入 "Module Manager" 菜单并点击 "soapy_source" 行旁边的 `-` 按钮。之后,重启 SDR++。
## 问题未在此列出?
如果您仍然有问题,请提交 issue 或在 discord 上询问。我会尽快回复。但是,请尽量避免在每个能想到的平台上联系我,以为我会回复得更快...
# 贡献
随时欢迎通过 GitHub issue tracker 提交频段计划。
对于代码更改,请改为创建功能请求。
# 致谢
## 赞助人 (Patrons)
* Bob Logan
* [Christian Häusler](https://github.com/corvus-ch)
* Croccydile
* Dale L Puckett (K0HYD)
* [Daniele D'Agnelli](https://linkedin.com/in/dagnelli)
* [David Taylor (GM8ARV)](https://twitter.com/gm8arv)
* D. Jones
* Dexruus
* [EB3FRN](https://www.eb3frn.net/)
* Eric Johnson
* Ernest Murphy (NH7L)
* Flinger Films
* [Frank Werner (HB9FXQ)](https://twitter.com/HB9FXQ)
* gringogrigio
* Jandro
* Jeff Moe
* Joe Cupano
* KD1SQ
* Kezza
* Krys Kamieniecki
* Lee Donaghy
* Lee (KD1SQ)
* .lozenge. (Hank Hill)
* Martin Herren (HB9FXX)
* NeoVilsonWong
* Nitin (VU2JEK)
* ON4MU
* [Passion-Radio.com](https://passion-radio.com/)
* Paul Maine
* Peter Betz
* [Scanner School](https://scannerschool.com/)
* Scott Palmer
* [SignalsEverywhere](https://signalseverywhere.com/)
* Syne Ardwin (WI9SYN)
* [W4IPA](https://twitter.com/W4IPAstroke5)
* William Arcand (W1WRA)
* William Pitchford
* [Yves Rougy](https://www.twitch.tv/yorzian)
* [Zipper](https://github.com/reppiZ)
## 贡献者 (Contributors)
* [Aang23](https://github.com/Aang23)
* [Alexsey Shestacov](https://github.com/wingrime)
* [Aosync](https://github.com/aosync)
* [Benjamin Kyd](https://github.com/benkyd)
* [Benjamin Vernoux](https://github.com/bvernoux)
* [Cropinghigh](https://github.com/cropinghigh)
* [Fred F4EED](http://f4eed.wordpress.com/)
* [Howard0su](https://github.com/howard0su)
* John Donkersley
* [Joshua Kimsey](https://github.com/JoshuaKimsey)
* [Manawyrm](https://github.com/Manawyrm)
* [Martin Hauke](https://github.com/mnhauke)
* [Marvin Sinister](https://github.com/marvin-sinister)
* [Maxime Biette](https://github.com/mbiette)
* [Paulo Matias](https://github.com/thotypous)
* [Raov](https://twitter.com/raov_birbtog)
* [Cam K.](https://github.com/Starman0620)
* [Shuyuan Liu](https://github.com/shuyuan-liu)
* [Syne Ardwin (WI9SYN)](https://esaille.me/)
* [Szymon Zakrent](https://github.com/zakrent)
* Youssef Touil
* [Zimm](https://github.com/invader-zimm)
## 使用的库
* [SoapySDR (PothosWare)](https://github.com/pothosware/SoapySDR)
* [Dear ImGui (ocornut)](https://github.com/ocornut/imgui)
* [json (nlohmann)](https://github.com/nlohmann/json)
* [rtaudio](http://www.portaudio.com/)
* [Portable File Dialogs](https://github.com/samhocevar/portable-file-dialogs)
 SDR++ 是一款跨平台、开源的 SDR 软件,旨在做到无冗余且易于使用。  ## 功能特性 * 多 VFO * 广泛的硬件支持(通过 SoapySDR 和专用模块) * SIMD 加速 DSP * 跨平台(Windows, Linux, MacOS 和 BSD) * 尽可能全速更新瀑布图,使浏览信号更轻松、更愉悦 * 模块化设计(可轻松编写您自己的插件) # 安装说明 ## 每夜构建版 (Nightly Builds) 每夜构建版包含最新的功能和错误修复。它们通常与[正式发布版](https://github.com/AlexandreRouma/SDRPlusPlus/releases)一样稳定,但通常在代码更改后的几分钟到几小时内即可使用。 您可以在[这里](https://www.sdrpp.org/nightly)下载。它将重定向到 GitHub 上最新的每夜构建版本,向下滚动到 "Artifacts" 并点击适合您操作系统的版本。 GitHub 目前需要登录账户才能下载文件,请确保您已登录。 ## Windows 从 [Releases 页面](https://github.com/AlexandreRouma/SDRPlusPlus/releases)下载最新版本并解压到您选择的目录。 要创建桌面快捷方式,右键点击 exe 文件并选择 `发送到 -> 桌面快捷方式`,然后将桌面上的快捷方式重命名为您想要的名称。 ## Linux ### 基于 Debian 的系统 (Ubuntu, Mint 等) 从 [Releases 页面](https://github.com/AlexandreRouma/SDRPlusPlus/releases)下载最新版本并解压到您选择的目录。 然后,使用 apt 进行安装: ``` sudo apt install path/to/the/sdrpp_debian_amd64.deb ``` **重要提示:您必须为您 SDR 安装驱动程序。请按照制造商的说明在您的特定发行版上进行操作。** ### 基于 Arch 的系统 按照以下说明从源码安装。 **警告:sdrpp-git AUR 包已非官方包,不建议使用。** ### 其他 目前没有针对其他发行版的现成软件包,对于这些系统,您需要[从源码构建](https://github.com/AlexandreRouma/SDRPlusPlus#building-on-linux--bsd)。 ## MacOS 从最新的[每夜构建版](https://www.sdrpp.org/nightly)下载应用程序包 (app bundle)。 ## BSD 目前没有 BSD 软件包,请参阅 [Building on Linux / BSD](https://github.com/AlexandreRouma/SDRPlusPlus#building-on-linux--bsd) 获取从源码构建的说明。 # 在 Windows 上构建 首选 IDE 是 [VS Code](https://code.visualstudio.com/),以便在不同平台上获得相似的开发体验,并使用命令行通过 CMake 进行构建。 ## 安装依赖 * [cmake](https://cmake.org) * [vcpkg](https://vcpkg.io) * [PothosSDR](https://github.com/pothosware/PothosSDR) (这将安装大多数 SDR 的库。您必须将其安装在 `C:/Program Files/PothosSDR`) * [RtAudio](https://www.music.mcgill.ca/~gary/rtaudio/) (您必须构建并将其安装在 `C:/Program Files (x86)/RtAudio/`) 之后,使用 vcpkg 安装以下依赖: * fftw3 * glfw3 * zstd 您可能会构建 64 位版本,因此请确保 vcpkg 使用 `.\vcpkg.exe install
标签:Bash脚本, DSP, FFT, HackRF, RTL-SDR, SDR软件, SIMD优化, SoapySDR, 信号处理, 开源, 无线协议分析, 无线电接收, 无线电爱好者, 无线电监测, 模块化架构, 瀑布图, 软件定义无线电, 通信技术, 频谱分析