<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
QTranslator qtTranslatorBase, qtTranslator, translatorBase, translator;
    initTranslations(qtTranslatorBase, qtTranslator, translatorBase, translator);
    translationInterface.Translate.connect(Translate);
    
    
    if (gArgs.IsArgSet("-?") || gArgs.IsArgSet("-h") || gArgs.IsArgSet("-help") || gArgs.IsArgSet("-version"))
    {
        HelpMessageDialog help(nullptr, gArgs.IsArgSet("-version"));
        help.showOrPrint();
        return EXIT_SUCCESS;
    }
    
    
    if (!Intro::pickDataDirectory())
        return EXIT_SUCCESS;
    
    
    if (!fs::is_directory(GetDataDir(false)))
    {
        QMessageBox::critical(0, QObject::tr(PACKAGE_NAME),
                              QObject::tr("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(gArgs.GetArg("-datadir", ""))));
        return EXIT_FAILURE;
    }
    try {
        gArgs.ReadConfigFile(gArgs.GetArg("-conf", BITCOIN_CONF_FILENAME));
    } catch (const std::exception& e) {
        QMessageBox::critical(0, QObject::tr(PACKAGE_NAME),
                              QObject::tr("Error: Cannot parse configuration file: %1. Only use key=value syntax.").arg(e.what()));