【问题标题】:How to get past the AttributeError in Gnu Radio version 3.8如何克服 Gnu Radio 3.8 版中的 AttributeError
【发布时间】:2020-11-14 14:14:54
【问题描述】:

这是我收到的错误:

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 命令。任何帮助将不胜感激!

【问题讨论】:

    标签: python c++ swig attributeerror gnuradio


    【解决方案1】:

    您的代码是否可能有错误(例如,某些字符的意外删除)?我之所以问是因为我无法在网络上的任何地方找到文本“preamble_sync_dehard”,但是一个名为gr::mapper::preamble_sync_de<strong>mapper_</strong>hard 的类。也许某些人或程序做了不明智的查找和替换,旨在删除 前缀 mapper_,但最终删除了一个子字符串。可以检查是否是这个问题:运行Python并输入

    import mapper
    dir(mapper)
    

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

    但如果它根本不存在,那么您可能会遇到更大的问题。据我所知,OOT 模块通常必须更新其结构才能与 GNU Radio 3.8 一起使用,而 the repository I found 自 2018 年以来似乎没有被触及(在 2019 年发布 3.8 之前)。

    【讨论】:

    • Gr-mapper 有 python 和 C++ 文件,当我运行上面的命令时,我看到的只是 python 文件,而没有 C++ 文件。你的下一步是什么?
    • @arw150 对于 GR 模块集成的进一步故障排除,恐怕我没有任何建议。通常的建议是(1)重新安装模块,(2)如果没有在系统范围内安装,请确保 Python 和 C 库的库路径匹配。
    猜你喜欢
    • 1970-01-01
    • 2020-08-09
    • 2015-08-14
    • 1970-01-01
    • 2016-08-25
    • 2021-04-19
    • 2021-04-09
    • 2016-07-17
    • 2015-10-07
    相关资源
    最近更新 更多