<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
{
               
               
               StartShutdown();
               *pnResult = FALSE;
               return true;
           }
           case WM_ENDSESSION:
           {
               *pnResult = FALSE;
               return true;
           }
       }
       return false;
}
void WinShutdownMonitor::registerShutdownBlockReason(const QString& strReason, const HWND& mainWinId)
{
    typedef BOOL (WINAPI *PSHUTDOWNBRCREATE)(HWND, LPCWSTR);
    PSHUTDOWNBRCREATE shutdownBRCreate = static_cast<PSHUTDOWNBRCREATE>(GetProcAddress(GetModuleHandleA("User32.dll"), "ShutdownBlockReasonCreate"));
    if (shutdownBRCreate == nullptr) {
        qWarning() << "registerShutdownBlockReason: GetProcAddress for ShutdownBlockReasonCreate failed";
        return;
    }
    if (shutdownBRCreate(mainWinId, strReason.toStdWString().c_str()))
        qWarning() << "registerShutdownBlockReason: Successfully registered: " + strReason;
    else
        qWarning() << "registerShutdownBlockReason: Failed to register: " + strReason;
}
#endif