discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Cannot compile and build a QTGUI OOT eye_sink


From: Christophe Seguinot
Subject: Cannot compile and build a QTGUI OOT eye_sink
Date: Fri, 8 Nov 2019 14:38:25 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]