Dear all
I working under ubuntu 18.04 and GNURadio 3.7.11 and attempt to define a
QTGUI eye_sink block to display eye pattern under gnuradio-companion.
Without any knowledge of the best method to achieve this, I decided to:
1- define a new OOT module using gr_modtool
gr_modtool newmod csqtgui
cd gr-csqtgui/
gr_modtool add -t sink -l cpp eye_sink_c
gr_modtool add -t sink -l cpp eye_sink_f
2- insert in this module the gnuradio C code related to the original
time_sink
see my code on github https://github.com/ChristopheSeg/eye_sink
3- try to compile and install this OOT (at this step it should be a
duplicate of the time-sink block)
mdkir build
cd build
cmake ../
qmake ../
make
4- modify oot code to implement an eye-pattern plot
But I'm stuck at step 3, unable to compile my OOT. (I succesfully tested
the square_ff OOT module proposed in OOT tutorial 2)
if I use csqtgui namespace in files eye_sinc_*.h eye_sink_*_impl.cc
eye_sink_*_impl.h: no .o object file are generated
namespace gr {
namespace csqtgui {
the error is than
In file included from ../lib/eye_sink_c_impl.h:25:0,
from ../lib/eye_sink_c_impl.cc:26:
../../gr-csqtgui/include/csqtgui/eye_sink_c.h:145:37: error:
'trigger_mode' has not been declared
virtual void set_trigger_mode(trigger_mode mode, trigger_slope
slope,
When using sqtgui namespace in those files
namespace gr {
namespace qtgui {
all .cc files object are created , but cmake fails with a lot of
undefined reference to : DisplayForm::, gr::block::, boost, CppUnit, pmt....
the error is than
g++ -m64 -Wl,-O1 -o gr-csqtgui eye_sink_c_impl.o eye_sink_f_impl.o
qa_csqtgui.o qa_eye_sink_c.o qa_eye_sink_f.o test_csqtgui.o
-L/usr/lib/x86_64-linux-gnu -lQtDeclarative -lQtGui -lQtCore -lpthread
eye_sink_c_impl.o: In function
`gr::qtgui::eye_sink_c_impl::set_update_time(double)':
eye_sink_c_impl.cc:(.text+0xc4): undefined reference to
`DisplayForm::setUpdateTime(double)'
I already modified my CMakelists.txt to include corresponding libraries
without any success
set(GR_REQUIRED_COMPONENTS RUNTIME BLOCKS QTGUI PMT VOLK)
find_package(Gnuradio "3.7.2" REQUIRED)
I tried to add -lgnuradio-blocks -lgnuradio-runtime -lgnuradio-qtgui
-lgnuradio-pmt in the last g++ command for testing but get the same errors
I didn't find any usefull help in GNURadio OOT pages, nor in other OOT
modules published on CGRAN.
Who could please tell me what is wrong in my method?
Regards, Christophe
No comments:
Post a Comment