[Jtdx-improved-community] Building JTDX-Improved on a slightly older platform
Brought to you by:
dg2ycb
From: Jon K. <jo...@kr...> - 2022-11-08 15:41:45
|
Dear JTDX-Improved users and developers, I tried to compile JTDX-Improved and JTDX-Improved-JTDX-GUI (v2.2.159 improved, 2022-10-07) on a older computer with the youngest Ubuntu that can still be installed on that machine. That is Ubuntu 18.04.6 LTS, a release that is still supported with regular updates. On that platform, the current QT has version 5.9.5 Both variants of JTDX-Improved use a feature of QT5 that only appeared in QT v5.12, namely: "QPalette::PlaceholderText". A feature that is nice, but not really important for the functioning of JTDX. This feature shows up in the C++ header file "ui_mainwindow.h" and breaks the compilation. That header file is created by the "Qt User Interface Compiler" from the QT-XML source file "mainwindow.ui" This header is (obviously) created before make calls on the C++ compiler; so once this compiler fails one can edit the header file. It is enough to just comment-out (or even remove) the six lines that refer to "QPalette::PlaceholderText" and call on "make" again. This then compiles (on my platform) a perfect version of JTDX-Improved. A possibly nicer way to "comment-out" these 6 occurrences in a portable way would be with a "#if", e.g.: #if QT_VERSION >= QT_VERSION_CHECK(5, 12, 0) palette2.setBrush(QPalette::Active, QPalette::PlaceholderText, brush6); #endif But that's hardly worth it, since this file will likely be overwritten by the next full re-build. In the hope that this useful to someone else with older hardware, 73, Jon PE1AQP/DK1AQP |