<pre><code>
  GEN      qt/forms/ui_transactiondescdialog.h
  GEN      qt/paymentrequest.pb.h
  GEN      qt/bitcoin.moc
  GEN      qt/bitcoinamountfield.moc
  GEN      qt/intro.moc
  GEN      qt/overviewpage.moc
  GEN      qt/rpcconsole.moc
  CXX      qt/qt_bitcoin_qt-bitcoin.o
qt/bitcoin.cpp: In function ‘int main(int, char**)’:
qt/bitcoin.cpp:709:173: error: invalid static_cast from type ‘WId {aka long long unsigned int}’ to type ‘HWND {aka HWND__*}’
             WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("%1 didn't yet exit safely...").arg(QObject::tr(PACKAGE_NAME)), static_cast<HWND>(app.getMainWinId()));
                                                                                                                                                                             ^
make[2]: *** [qt/qt_bitcoin_qt-bitcoin.o] Error 1
Makefile:8181: recipe for target 'qt/qt_bitcoin_qt-bitcoin.o' failed
make[2]: Leaving directory '/usr/src/bitcoin/src'
make[1]: *** [all-recursive] Error 1
Makefile:9419: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/src/bitcoin/src'
Makefile:747: recipe for target 'all-recursive' failed
</code></pre>

build on WSL
{
    if (type == QtDebugMsg) {
        LogPrint(BCLog::QT, "GUI: %s\n", msg);
    } else {
        LogPrintf("GUI: %s\n", msg);
    }
}
#else
void DebugMessageHandler(QtMsgType type, const QMessageLogContext& context, const QString &msg)
{
    Q_UNUSED(context);
    if (type == QtDebugMsg) {
        LogPrint(BCLog::QT, "GUI: %s\n", msg.toStdString());
    } else {
        LogPrintf("GUI: %s\n", msg.toStdString());
    }
}
#endif
/** Class encapsulating Bitcoin Core startup and shutdown.
 * Allows running startup and shutdown in a different thread from the UI thread.
 */
class BitcoinCore: public QObject