SWIG / CMAKE构建问题,尝试在GNURadio中安装和使用新模块

时间:2012-11-27 00:19:38

标签: cmake shared-libraries swig gnuradio usrp

我正在尝试复制GNURadio的UHD模块中包含的USRP Source块,以便我可以自由修改work()函数。

目前,我只想创建一个与“USRP Source”块完全相同的块。我创建了一个名为“asat”的新模块,创建了.cc.h.xmlCMakeLists__init__文件,并完成了所有操作编译安装没有错误。

但是,当我尝试运行GRC .py文件时,出现以下错误:

File "/usr/local/lib/python2.7/dist-packages/asat/__init__.py", line 128, in <module> _prepare_asat_swig()
File "/usr/local/lib/python2.7/dist-packages/asat/__init__.py", line 32, in _prepare_asat_swig import asat_swig
File "/usr/local/lib/python2.7/dist-packages/asat/asat_swig.py", line 26, in <module> _asat_swig = swig_import_helper()
File "/usr/local/lib/python2.7/dist-packages/asat/asat_swig.py", line 22, in swig_import_helper _mod = imp.load_module('_asat_swig', fp, pathname, description)
ImportError: /usr/local/lib/python2.7/dist-packages/asat/_asat_swig.so: undefined symbol: /ZTIN3uhd9key_errorE

我一直在试图解决错误,并且从我的谷歌搜索中我怀疑这是一个库在CMAKE中无法正确链接的问题,但我是SWIG / CMAKE的新手,我似乎无法忍受解决它。

如果我在图书馆的正确轨道上,即使有人可以建议链接到图书馆,我也非常感谢您排除错误原因的任何帮助。

我为愿意帮助我的人做了a github repo with my source and build directories

1 个答案:

答案 0 :(得分:0)

乔尔 -

您需要为新块创建一个SWIG文件,以便它可以SWIG到Python - 否则,您将无法在Python流程图中使用它,这是GRC生成的。

您可以查看GNURadio源代码树中有大量* .i SWIG文件。或者,我建议你在gnuradio-discuss邮件列表上询问,这是几乎所有GNURadio支持发生的地方(我是唯一一个我知道监视SO的人):

https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

干杯,