<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
#include <qt/winshutdownmonitor.h>
#if defined(Q_OS_WIN) && QT_VERSION >= 0x050000
#include <init.h>
#include <util.h>
#include <windows.h>
#include <QDebug>
#include <openssl/rand.h>
bool WinShutdownMonitor::nativeEventFilter(const QByteArray &eventType, void *pMessage, long *pnResult)
{
       Q_UNUSED(eventType);
       MSG *pMsg = static_cast<MSG *>(pMessage);
       
       if (RAND_event(pMsg->message, pMsg->wParam, pMsg->lParam) == 0) {
            
            static bool warned = false;
            if (!warned) {
                LogPrintf("%s: OpenSSL RAND_event() failed to seed OpenSSL PRNG with enough data.\n", __func__);
                warned = true;
            }
       }
       switch(pMsg->message)
       {
           case WM_QUERYENDSESSION: