JvanKatwijk / swradio-8

shortwave receiver for use with sdrplay, hackrf, dabsticks and pmsdr
GNU General Public License v2.0
76 stars 18 forks source link

fatal error: #9

Open 122christo opened 2 years ago

122christo commented 2 years ago

Hi, I tried to compile swradio-8, but got this error:

In file included from radio.h:37, from main.cpp:29: ui_newradio.h:23:10: fatal error: qwt_plot.h: Datei oder Verzeichnis nicht gefunden 23 | #include "qwt_plot.h" | ^~~~ compilation terminated. What to do? Best greetings

markjfine commented 2 years ago

Think part of this has to do with finding qwt_plot. If you're using QT Creator to build, see the following: https://github.com/JvanKatwijk/swradio-8/issues/4

JvanKatwijk commented 2 years ago

Different Linux distros have different locations for storing the Qt/qwt include files. Even in successive versions of the same distribution the location is different

On the Ubuntu 16 system that I use to create appimages the location is "usr/include.qwt", I know that on Ubuntu 20 it is on a different location but right now I do not have access to an Ubuntu 20 system

Op do 12 mei 2022 om 16:57 schreef 122christo @.***>:

Hi, I tried to compile swradio-8, but got this error:

In file included from radio.h:37, from main.cpp:29: ui_newradio.h:23:10: fatal error: qwt_plot.h: Datei oder Verzeichnis nicht gefunden 23 | #include "qwt_plot.h" | ^~~~ compilation terminated. What to do? Best greetings

— Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/9, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQHVCZKRRYUYLHSHLQDVJUL7HANCNFSM5VYRR3AQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Jan van Katwijk

122christo commented 2 years ago

OK, I had to write the complete path to "qwt_plot.h", and it compiles. But: A lot more new errors:

scopes-qwt6/spectrum-scope.cpp:34:54: error: invalid use of incomplete type ‘class QPen’ 34 | grid -> setMajorPen (QPen(Qt::white, 0, Qt::DotLine)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ scopes-qwt6/spectrum-scope.cpp:41:54: error: invalid use of incomplete type ‘class QPen’ 41 | grid -> setMinorPen (QPen(Qt::white, 0, Qt::DotLine)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ scopes-qwt6/spectrum-scope.cpp:46:44: error: invalid use of incomplete type ‘class QPen’ 46 | SpectrumCurve -> setPen (QPen(Qt::white)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ scopes-qwt6/spectrum-scope.cpp:56:40: error: invalid use of incomplete type ‘class QPen’ 56 | Marker -> setLinePen (QPen (Qt::white)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ scopes-qwt6/spectrum-scope.cpp:58:10: error: variable ‘QwtText MarkerLabel’ has initializer but incomplete type 58 | QwtText MarkerLabel = QwtText ("label"); | ^~~ scopes-qwt6/spectrum-scope.cpp:58:52: error: invalid use of incomplete type ‘class QwtText’ 58 | QwtText MarkerLabel = QwtText ("label"); | ^ In file included from /usr/local/qwt-6.2.0/include/qwt_plot_dict.h:14, from /usr/local/qwt-6.2.0/include/qwt_plot.h:15, from scopes-qwt6/virtual-scope.h:30, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/local/qwt-6.2.0/include/qwt_plot_item.h:20:7: note: forward declaration of ‘class QwtText’ 20 | class QwtText; | ^~~ scopes-qwt6/spectrum-scope.cpp: In member function ‘virtual void spectrumScope::display(double, double, double, int32_t, int32_t)’: scopes-qwt6/spectrum-scope.cpp:140:20: error: variable ‘QwtText MarkerLabel’ has initializer but incomplete type 140 | QwtText MarkerLabel = QwtText (help); | ^~~ scopes-qwt6/spectrum-scope.cpp:140:49: error: invalid use of incomplete type ‘class QwtText’ 140 | QwtText MarkerLabel = QwtText (help); | ^ In file included from /usr/local/qwt-6.2.0/include/qwt_plot_dict.h:14, from /usr/local/qwt-6.2.0/include/qwt_plot.h:15, from scopes-qwt6/virtual-scope.h:30, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/local/qwt-6.2.0/include/qwt_plot_item.h:20:7: note: forward declaration of ‘class QwtText’ 20 | class QwtText; | ^~~ scopes-qwt6/spectrum-scope.cpp:149:53: error: invalid use of incomplete type ‘class QPen’ 149 | Marker -> setLinePen (QPen (Qt::white, 3.0)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ make: *** [Makefile:1911: spectrum-scope.o] Fehler 1

What is this? Version problem?

JvanKatwijk commented 2 years ago

tell me what version of Linux you are using to compile.

Op vr 13 mei 2022 om 14:38 schreef 122christo @.***>:

OK, I had to write the complete path to "qwt_plot.h", and it compiles. But: A lot more new errors:

scopes-qwt6/spectrum-scope.cpp:34:54: error: invalid use of incomplete type ‘class QPen’ 34 | grid -> setMajorPen (QPen(Qt::white, 0, Qt::DotLine)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ scopes-qwt6/spectrum-scope.cpp:41:54: error: invalid use of incomplete type ‘class QPen’ 41 | grid -> setMinorPen (QPen(Qt::white, 0, Qt::DotLine)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ scopes-qwt6/spectrum-scope.cpp:46:44: error: invalid use of incomplete type ‘class QPen’ 46 | SpectrumCurve -> setPen (QPen(Qt::white)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ scopes-qwt6/spectrum-scope.cpp:56:40: error: invalid use of incomplete type ‘class QPen’ 56 | Marker -> setLinePen (QPen (Qt::white)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ scopes-qwt6/spectrum-scope.cpp:58:10: error: variable ‘QwtText MarkerLabel’ has initializer but incomplete type 58 | QwtText MarkerLabel = QwtText ("label"); | ^~~ scopes-qwt6/spectrum-scope.cpp:58:52: error: invalid use of incomplete type ‘class QwtText’ 58 | QwtText MarkerLabel = QwtText ("label"); | ^ In file included from /usr/local/qwt-6.2.0/include/qwt_plot_dict.h:14, from /usr/local/qwt-6.2.0/include/qwt_plot.h:15, from scopes-qwt6/virtual-scope.h:30, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/local/qwt-6.2.0/include/qwt_plot_item.h:20:7: note: forward declaration of ‘class QwtText’ 20 | class QwtText; | ^~~ scopes-qwt6/spectrum-scope.cpp: In member function ‘virtual void spectrumScope::display(double, double, double, int32_t, int32_t)’: scopes-qwt6/spectrum-scope.cpp:140:20: error: variable ‘QwtText MarkerLabel’ has initializer but incomplete type 140 | QwtText MarkerLabel = QwtText (help); | ^~~ scopes-qwt6/spectrum-scope.cpp:140:49: error: invalid use of incomplete type ‘class QwtText’ 140 | QwtText MarkerLabel = QwtText (help); | ^ In file included from /usr/local/qwt-6.2.0/include/qwt_plot_dict.h:14, from /usr/local/qwt-6.2.0/include/qwt_plot.h:15, from scopes-qwt6/virtual-scope.h:30, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/local/qwt-6.2.0/include/qwt_plot_item.h:20:7: note: forward declaration of ‘class QwtText’ 20 | class QwtText; | ^~~ scopes-qwt6/spectrum-scope.cpp:149:53: error: invalid use of incomplete type ‘class QPen’ 149 | Marker -> setLinePen (QPen (Qt::white, 3.0)); | ^ In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54, from /usr/include/x86_64-linux-gnu/qt5/QtCore/QObject:1, from scopes-qwt6/virtual-scope.h:28, from scopes-qwt6/spectrum-scope.h:26, from scopes-qwt6/spectrum-scope.cpp:23: /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:1971:1: note: forward declaration of ‘class QPen’ 1971 | QT_FOR_EACH_STATIC_GUI_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER) | ^~~~~~~~ make: *** [Makefile:1911: spectrum-scope.o] Fehler 1

What is this? Version problem?

— Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/9#issuecomment-1126012324, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQHUZGJRD3EOJ533JXTVJZEMNANCNFSM5VYRR3AQ . You are receiving this because you commented.Message ID: @.***>

-- Jan van Katwijk

122christo commented 2 years ago

Linux Mint 20.3

markjfine commented 2 years ago

That's why it's best to reference qwt.framework and qwt_polar.framework if at all possible rather than hard-coding just the path to qwt_plot.h. It should take care of all of the other issues.

As far as versions, qwt is v6, qwt_polar is v1, and qt itself is up to v6, but v5 should work.

122christo commented 2 years ago

Ups, may be my description was a little misunderstanding. This is what I wrote to swradio-8.pro: INCLUDEPATH += /usr/local/include /usr/local/qwt-6.2.0/include INCLUDEPATH += /usr/local/include /usr/local/qwt-6.2.0/

JvanKatwijk commented 2 years ago

There are some incompatibilities between Qt6 and previous versions. I know they were solved for Qt-DAB and I'll have a look how that was addressed.

Op vr 13 mei 2022 om 15:05 schreef 122christo @.***>:

Ups, may be my description was a little misunderstanding. This is what I wrote to swradio-8.pro: INCLUDEPATH += /usr/local/include /usr/local/qwt-6.2.0/include INCLUDEPATH += /usr/local/include /usr/local/qwt-6.2.0/

— Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/9#issuecomment-1126036336, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQDDE6Q43J2BEABZRPTVJZHSXANCNFSM5VYRR3AQ . You are receiving this because you commented.Message ID: @.***>

-- Jan van Katwijk

122christo commented 2 years ago

OK, a step forward: I installed qwt-6.1.3 and changes the path. (I found this version number in Your description) Now it compiles, but with one more error:

/usr/bin/ld: -lfdk-aac kann nicht gefunden werden collect2: error: ld returned 1 exit status make: *** [Makefile:632: linux-bin/swradio-8.1] Fehler 1

JvanKatwijk commented 2 years ago

Looking at the error messages and trying something on my Fedora system I would suggest a. add #include to the heading of the file spectrum_scope.cpp in the directory scopes-qwt6 b. add #include to the heading of the file spectrum_scope.h in the same directory

Later this weekend I'll bring up an Ubuntu 20.X version and see whether or nof there are compilation problems.

Op vr 13 mei 2022 om 15:42 schreef jan van katwijk @.***>:

There are some incompatibilities between Qt6 and previous versions. I know they were solved for Qt-DAB and I'll have a look how that was addressed.

Op vr 13 mei 2022 om 15:05 schreef 122christo @.***>:

Ups, may be my description was a little misunderstanding. This is what I wrote to swradio-8.pro: INCLUDEPATH += /usr/local/include /usr/local/qwt-6.2.0/include INCLUDEPATH += /usr/local/include /usr/local/qwt-6.2.0/

— Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/9#issuecomment-1126036336, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQDDE6Q43J2BEABZRPTVJZHSXANCNFSM5VYRR3AQ . You are receiving this because you commented.Message ID: @.***>

-- Jan van Katwijk

-- Jan van Katwijk

122christo commented 2 years ago

OK, something (fdkaac) wa missing, I installed it and the compiler goes to the next error: /usr/bin/ld: waterfall-scope.o: in function waterfallScope::waterfallScope(QwtPlot*, short, short)': waterfall-scope.cpp:(.text+0x457): undefined reference toQwtPlot::setAxisVisible(int, bool)' /usr/bin/ld: waterfall-scope.cpp:(.text+0x494): undefined reference to QwtPlot::setAxisVisible(int, bool)' /usr/bin/ld: waterfall-scope.cpp:(.text+0x4a4): undefined reference toQwtPlot::setAxisVisible(int, bool)' /usr/bin/ld: waterfall-scope.cpp:(.text+0x4d2): undefined reference to QwtPlotMarker::QwtPlotMarker()' /usr/bin/ld: waterfall-scope.o: in functionwaterfallScope::~waterfallScope()': waterfall-scope.cpp:(.text+0x782): undefined reference to QwtPlot::setAxisVisible(int, bool)' /usr/bin/ld: waterfall-scope.cpp:(.text+0x792): undefined reference toQwtPlot::setAxisVisible(int, bool)' /usr/bin/ld: waterfall-scope.cpp:(.text+0x79f): undefined reference to QwtPlot::setAxisVisible(int, bool)' /usr/bin/ld: waterfall-scope.o: in functionwaterfallScope::display(double, double, double, int, int)': waterfall-scope.cpp:(.text+0xab4): undefined reference to QwtPlot::setAxisVisible(int, bool)' /usr/bin/ld: waterfall-scope.o:(.data.rel.ro._ZTV15SpectrogramData[_ZTV15SpectrogramData]+0x20): undefined reference toQwtMatrixRasterData::interval(Qt::Axis) const' collect2: error: ld returned 1 exit status make: *** [Makefile:632: linux-bin/swradio-8.1] Fehler 1

wtf!

122christo commented 2 years ago

Perhaps you should put a working binary on your git?

JvanKatwijk commented 2 years ago

did you have a look at the releases section then?

Op vr 13 mei 2022 om 16:16 schreef 122christo @.***>:

Perhaps you should put a working binary on your git?

— Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/9#issuecomment-1126110074, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQF257QMRRZA2OD75ELVJZP5NANCNFSM5VYRR3AQ . You are receiving this because you commented.Message ID: @.***>

-- Jan van Katwijk

122christo commented 2 years ago

I need the sofware for sdrplay rsd1

JvanKatwijk commented 2 years ago

If you are still interested, a new version is uploaded with (a.o) support for SDRplay V3 library. An appImage and a windows installer are available

Op vr 13 mei 2022 om 18:35 schreef jan van katwijk @.***>:

SDRplay support is only lib 2.13 for this application, there are no sources for support with 3.0X and most likely they never will be

Op vr 13 mei 2022 om 18:17 schreef 122christo @.***>:

I need the sofware for sdrplay rsd1

— Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/9#issuecomment-1126228030, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQEAUEPEZTKIXI5VYOTVJZ6BJANCNFSM5VYRR3AQ . You are receiving this because you commented.Message ID: @.***>

-- Jan van Katwijk

-- Jan van Katwijk

JvanKatwijk commented 1 year ago

SDRplay support is only lib 2.13 for this application, there are no sources for support with 3.0X and most likely they never will be

Op vr 13 mei 2022 om 18:17 schreef 122christo @.***>:

I need the sofware for sdrplay rsd1

— Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/9#issuecomment-1126228030, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQEAUEPEZTKIXI5VYOTVJZ6BJANCNFSM5VYRR3AQ . You are receiving this because you commented.Message ID: @.***>

-- Jan van Katwijk

JvanKatwijk commented 1 year ago

well, then the setting for the drm decoder is to use fdkaac, alternatively you could set it to libfaad

Op vr 13 mei 2022 om 15:55 schreef 122christo @.***>:

OK, a step forward: I installed qwt-6.1.3 and changes the path. (I found this version number in Your description) Now it compiles, but with one more error:

/usr/bin/ld: -lfdk-aac kann nicht gefunden werden collect2: error: ld returned 1 exit status make: *** [Makefile:632: linux-bin/swradio-8.1] Fehler 1

— Reply to this email directly, view it on GitHub https://github.com/JvanKatwijk/swradio-8/issues/9#issuecomment-1126083695, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACCPHQBUTZWWJ6MUUF4LCJ3VJZNOPANCNFSM5VYRR3AQ . You are receiving this because you commented.Message ID: @.***>

-- Jan van Katwijk