当我调用另一个文件的函数时,比如我调用liquid.h的fec_create()函数,编译正确,但是GNU Radio执行时就报错了
错误信息: AttributeError: ‘module’ object has no attribute ‘transmitter’
解决方法:
- 修改模块根目录下的CMakeLists.txt
在 Compiler specific setup 下添加以下信息:
add_definitions(-std=c++11)
add_definitions(-Wall)
add_definitions(-Wextra)
- 修改lib文件夹下的CMakeLists.txt
在Setup library下target_link_libraries()添加文件名,比如我这里的liquid.h,所以最后加上liquid
在Install built library files下添加以下信息:
install(TARGETS gnuradio-lora_transmitter
LIBRARY DESTINATION libKaTeX parse error: Expected 'EOF', got '#' at position 14: {LIB_SUFFIX} #̲ .so/.dylib fil…{LIB_SUFFIX} # .lib file
RUNTIME DESTINATION bin # .dll file
)
在Build and register unit test下的target_link_libraries添加liquid
最后在build文件夹下(若没有,在模块根目录创建)打开终端,输入命令:
cmake ../
sudo make
sudo make install
sudo ldconfig