<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
{
    QMessageBox::critical(0, "Runaway exception", BitcoinGUI::tr("A fatal error occurred. Bitcoin can no longer continue safely and will quit.") + QString("\n\n") + message);
    ::exit(EXIT_FAILURE);
}
WId BitcoinApplication::getMainWinId() const
{
    if (!window)
        return 0;
    return window->winId();
}
#ifndef BITCOIN_QT_TEST
int main(int argc, char *argv[])
{
    SetupEnvironment();
    
    
    gArgs.ParseParameters(argc, argv);
    
    
#if QT_VERSION < 0x050000
    
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForTr());
#endif
    Q_INIT_RESOURCE(bitcoin);
    Q_INIT_RESOURCE(bitcoin_locale);
    BitcoinApplication app(argc, argv);