GNU 收音机错误 "This block does not support C++ output"

GNU Radio error "This block does not support C++ output"

我在 GNU Radio 伴侣 3.8.1.0 上写了一个程序,当我 select Python 语言时它工作正常。

但是,当我select C++ 输出语言时,我得到错误

This block does not support C++ output

对于模块 WBFM Receive、osmocom source 和 rational resampler。

你能告诉我如何解决这个问题吗?

如错误消息所述,这些块不支持 C++ 输出。

GRC 的工作是将您的流程图的图形表示转换为程序 – 在(默认)Python 中,这是实例化所有块的 Python 代码,设置流程图,连接所有块并告诉 GNU Radio 运行 流程图。

C++模式下,生成的代码为C++。

要使两者都起作用,这些块的开发人员需要为需要插入到结果程序中的内容编写模板。

对于 GNU Radio 带来的许多 in-tree 块,Python 和 C++ 都发生了这种情况。然而,对于 WBFM receive,这 可能 不会发生——块本身是一个 Python 分层块!在 C++ 中包装是不可能的(大多数块是用 C++ 编写的,并且包装了 Python。很难绕过它)。

与 Rational Resampler 相同,这是一个 Python 层次块,可按需计算重采样器的滤波器抽头。如果我没记错的话,还有 osmocom 块。

因此,既然所有这些都写在 Python 中,那么没有 Python 就无法使用它们。

请注意,与 Python 相比,从 C++ 构建流程图的性能优势为零:Python 方面所做的一切就是告诉 GNU Radio 创建、连接和 运行 .所有的信号处理都是用 C++ 代码完成的(除非你写了一个 Python 块,但你很少会在任何信号处理代码中找到这些)。