如何克服Gnu Radio版本3.8中的AttributeError



这是我收到的错误:

Traceback (most recent call last):
File "/home/awilhelmy5/Downloads/qpsk-adaptive-master/gnuradio/qpsk_usrp.py", line 354, in <module>
main()
File "/home/awilhelmy5/Downloads/qpsk-adaptive-master/gnuradio/qpsk_usrp.py", line 332, in main
tb = top_block_cls()
File "/home/awilhelmy5/Downloads/qpsk-adaptive-master/gnuradio/qpsk_usrp.py", line 148, in __init__
self.mapper_preamble_sync_demapper_hard_0 = mapper.preamble_sync_dehard(0, per_bits, mapper.QPSK, [0,1,3,2], 0, 3, False)
AttributeError: module 'mapper' has no attribute 'preamble_sync_dehard'

错误的最后一行是困扰我的部分。我尝试了很多事情,比如安装swig 4.0版本,尝试执行sudo ldconfig命令,尝试颠倒.h文件中命令的顺序,我更改了yml文件名以匹配它在xml文件中的名称,我甚至开始乱用target_link_libraries命令。如有任何帮助,我们将不胜感激!

您的代码是否可能有错误(例如意外删除某些字符(?我问是因为我找不到文本";preamble_sync_dehard";web上的任何位置,但有一个名为gr::mapper::preamble_sync_demapper_hard的类。也许有些人或程序做了一个不明智的查找和替换,旨在删除前缀mapper_,但最终却删除了一个子字符串。您可以检查是否存在问题:运行Python并输入

import mapper
dir(mapper)

这将列出Python模块中的所有名称,其中一个(如果这是唯一的问题(将是preamble_sync_demapper_hard,或者一些相关的拼写,然后您可以调整qpsk_usrp.py以使用。

但如果它根本不存在,那么你可能会遇到更大的问题。据我所知,OOT模块通常必须更新其结构才能使用GNU Radio 3.8,而我发现的存储库似乎自2018年以来(在2019年发布3.8之前(就没有被使用过。

最新更新