我正在编写一个 C++ OOT 模块。该模块需要以下头文件:
#包括
因此,我将此行添加到以下文件中:
(OOT 文件所在目录)/include/gnuradio//(blockname.h).
就我而言,这是:
(XYZ目录)/gr-QPSK_Modules_Decision_Directed_PLL/include/gnuradio/QPSK_Modules_Decision_Directed_PLL/Decision_Directed_PLL.h
在此之后,我之前的错误(关于丢失的头文件)消失了,但是我遇到了关于以下文件中丢失的头的新错误:
(XYZ目录)/gr-QPSK_Modules_Decision_Directed_PLL/python/QPSK_Modules_Decision_Directed_PLL/bindings/Decision_Directed_PLL_python.cc
在线:
#包括
注意:这是我在上一步中手动编辑的文件。
这让我怀疑手动编辑以前的文件可能不是包含头文件的正确方法。我可能错过了一些明显的东西,但我对这一切都很陌生,并且希望得到任何帮助。我似乎在 GNU Radio 文档或 wiki 页面中找不到任何显示如何添加头文件的示例。我使用 gr_modtool 来创建 C++ OOT 模块的结构。任何帮助将不胜感激,因为我不知道如何克服这个问题。
我尝试更换这一行:
#包括
使用该文件实际所在位置的绝对路径,但是当我尝试在 GRC 中使用我的块时,这会导致链接错误。
我正在使用以下版本的 GNU Radio Companion:
3.10.11.0(Python 3.8.19)
我设法通过修改头文件后运行以下命令来解决此问题: gr_modtool bind [blockname] 这会重新生成绑定,这似乎解决了我的问题。希望这对可能遇到类似问题的其他人有所帮助。