Sometimes I need to create a small GUI application for my Windows colleagues. Using Qt or .NET I get huge binaries/dependencies. What is the final binary size (all deps included) with your solution for a "hello world" GUI exe?
tl;dr is that if you create a RELEASE build, should be about 2 - 5mb for a GUI app, depending on the platform. And if you run `upx` against the resulting binary, it will be even smaller.
Win 7 x64:
------------
- 12.3 mb == Default build
- 3.2 mb == Default build without debug info
- 2.1 mb == Optimized compiler
- 2.1 mb == Optimized compiler without debug info
Ubuntu x64:
------------
- 13.4 mb == Default build
- 7.5 mb == Default build without debug info
- 4.4 mb == Optimized compiler
- 2.7 mb == Optimized compiler without debug info
Optimized compiler means: 1. Project|Compiler Options|Code|Smart Linkable (-CX) -> Checked
2. Project|Compiler Options|Linking|Debugging| Uncheck all except `Strip Symbols From Executable (-Xs) -> Checked`Strip Symbols From Executable (-Xs) -> Checked
3. Project|Compiler Options|Linking|Link Style|Link Smart (-XX) -> Checked
4. (Optional) Project|Compiler Options|Code|Optimizations|smaller rather than faster -> Checked (Warning: this might decrease performance)Which is rather bad. I used to use Delphi 4 and it would create 350 KB programs by default.
Which was also bad, so I sometimes used that Delphi without the GUI designer and without the VCL, using the win32 API directly, to create 50 KB programs. That is a reasonable software size. Software keeps getting worse every year