I have compiled Qwt 6.3.0 and see that the headers and the libs have been placed in
/usr/local/qwt-6.3.0/include/
and
/usr/local/qwt-6.3.0/lib/
respectively.

I have build a Qt 6.7.0 app. using the following CMakeLists file:
set(QWT_INCLUDE_DIR "/usr/local/qwt-6.3.0/include")
set(QWT_LIBRARY "/usr/local/qwt-6.3.0/lib/libqwt.so")
set(qwt_libraries ${QWT_LIBRARY}})
set(test_SRC
src/main.cpp
src/test.cpp
src/Plot.cpp
)
add_executable(test ${test_SRC})
target_link_libraries(test Qt6::Widgets ${QWT_LIBRARY})

Compiling the program and running it in the debugegr it craches with the error message:
QWidget: Must construct a QApplication before a QWidget
*** Program received signal SIGABRT (Aborted) ***

In main I have
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
test w;
w.show();

return app.exec();
}
which I think is correct.

In MainWindow (i,e, test):

test::test(QWidget *parent) :
QMainWindow(parent),
m_ui(new Ui::test)
{
qDebug() << "test::test 0";
qDebug() << qApp;

qDebug() << "test::test 1";
m_ui->setupUi(this);
qDebug() << "test::test 2";

m_plot = new Plot(this);
qDebug() << "test::test 3";

Starting the debugger yields:
test::test 0
QApplication(0x7ffde3f14770)
test::test 1
test::test 2
QWidget: Must construct a QApplication before a QWidget
*** Program received signal SIGABRT (Aborted) ***

test::test 3 is never printed out, so it seems the crash happens in the Plot constructor:
Plot::Plot(QWidget *parent)
: QwtPlot( parent )
{
qDebug() << "Plot::Plot 1";

Again, Plot::Plot 1 is not printed out.
Can it be that Qt 6.7.0 and Qwt 6.3.0 are incompatible?