Something changed with bitcoin-qt.exe built by gitian win32. The .exe is missing the Bitcoin icon and launching it opens a blank terminal window before the splash screen appears.
Built at 13e99e463d4aa0bd2b2892010ca8c7007c40c242
Something changed with bitcoin-qt.exe built by gitian win32. The .exe is missing the Bitcoin icon and launching it opens a blank terminal window before the splash screen appears.
Built at 13e99e463d4aa0bd2b2892010ca8c7007c40c242
As for the console window: we need to add an -mwindows to the linking step of the bitcoin-qt.exe (but NOT bitcoind.exe or bitcoin-cli.exe, as they need a console).
For the icon I think we need to compile and link in the win32 resources file src/qt/res/bitcoin-qt.rc.
@theuni Do you have a suggestion on how to do this with autotools?
AFAIK there are res files for bitcoind.exe and bitcoin-cli.exe already... The lines that are responsible for adding an icon to an executable file are (from: bitcoin-qt-res.rc)
<pre> IDI_ICON1 ICON DISCARDABLE "icons/bitcoin.ico" IDI_ICON2 ICON DISCARDABLE "icons/bitcoin_testnet.ico" </pre>
The problem is that they aren't used.
Ok, so bitcoind.exe and bitcoin-cli.exe are fine?
But the gitian-built bitcoin-qt.exe however has no icon and opens a console window. Is this the same for your local builds or a gitian problem?
Must be a Gitian problem, as I have an icon and also no console window.
I don't Gitian build and (sorry) also didn't yet test the now merged Qt5 autotools patch (great work btw.).
My local builds currently rely on an older bitcoin-qt.pro files, to which I added needed changes to catch up with current master. Anyway, my bitcoin-qt.exe file has an application icon (the file itself, when viewed in Windows Explorer) and also doesn't open a blank terminal window (this can be cause by a missing -mwindows as @laanwj suggests or perhaps we have some debugging stuff enabled? dunno).
Note that the blank terminal window is not always blank -- it's the output (I don't know if it's stdout, stderr, or something else). I have -tor set in my config file, and the terminal window that opens with the GUI shows a message about the option being renamed to -onion in a future release.
Indeed, the console window is Windows standard output, anything that's written to standard output ends up there.
If you want to distinguish between the two subsystem modes without Windows you can use the following commands:
Good:
$ objdump -x bitcoin-0.8.99-win32-setup.exe | grep -i "^Subsystem"
Subsystem 00000002 (Windows GUI)
$ objdump -x bitcoind.exe |grep -i "^Subsystem"
Subsystem 00000003 (Windows CUI)
$ objdump -x bitcoin-cli.exe |grep -i "^Subsystem"
Subsystem 00000003 (Windows CUI)
Wrong, should be GUI:
$ objdump -x bitcoin-qt.exe |grep -i "^Subsystem"
Subsystem 00000003 (Windows CUI)