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