OK, could not wait, curiosity got me once again.
The library compiles out of the box, just drag the
.dev file onto Code::Blocks, and hit the blue gear icon.
Then copy
SmartWin\lib\libSmartWin.a to your compiler's lib dir (
C:\mingw\lib, or
C:\codeblocks\lib, whatever), and copy
SmartWin\include\SmartWin.h to your compiler's include dir in the same way.
Now open any of the projects in
SmartWin\tests, and hit the blue gear icon. Run.
The binary executable size, however, is... impressive *cough*.
The SmartWin++ site says:
SmartWin++ comes with EXACTLY ZERO (mark not, virtually none, or almost zero but EXACTLY ZERO) overhead. Fact is you would probably get SmartWin++ to perform better than you could make on your own just utilizing Windows API!
Well, I would say "It depends". With
-O2 -s, the "hello world" example has 365 kB. Admitted, it does more than just show "hello world", it has a menu bar, a checkbox, a button, and it opens a dialog box. But still 365 kB is quite a bummer. Most of the executable size is probably due to exception handling, which is mandatory in SmartWin++.
Clearly, using exceptions is a good and correct way of programming, but exceptions are not free and not zero overhead, which is why I personally never use them (that's a matter of taste, though).
But still, it looks very nice overall, and although bloated, the "hello world" app is still less than half the size of the statically linked wxWindows version
