Here comes the wxWidgets hater.
Ok, everybody who has read more than 3 threads on this forum knows my opinion on wxWidgets, but seriously: here is a little of my experience.
One important thing with wxWidgets is that you have to build it
monolithic (either static or shared, doesn't matter), or your life will be a very unhappy one.
In fact, a
monolithic shared build works very nicely out of the box if you can live with distributing a huge dll. If only this dll wasn't so massively fat.
Don't tune any of the configuration options that are readily available because wxWidgets is not really meant to be tuned.
For example, many options that say "can safely be turned off if you don't need it" cause either your wxWidgets build to fail after running 75% OK, or they cause missing symbols when you try to link your program (no error earlier).
Similar strange things happen with non-monolithic builds. In theory, you should be able to leave out a few libraries if you don't use most features, but in practice, it only works if you include almost all or all of them, even for the most basic applications.
Also, I had it happen that the
same program linked with a non-monolithic build crashed, but it would work fine with a monolithic build (identical options, except for this one flag).
wxWidgets requires you to link to a ton of other libraries. If you get a thousand errors when building your programs, you should try adding libkernel32.a, libuser32.a, libgdi32.a, libcomdlg32.a, libuuid.a, libole32.a, liboleaut32.a, libvomctl32.a, libshell32.a, libadvapi32.a.
If you still get missing symbols after that, you may have to add libwinmm.a, libwisock32.a and libwinspool.a too. Unluckily, the project wizard doesn't do that for you.
Last week, I wanted to make a simple statically linked application that did nothing but display a tray icon and two really simple dialogs. Since I did not know the Windows API for displaying tray icons, I made the massive mistake to give wxWidgets a try (as there is a ready-made tray icon class). Bad mistake!
After recompiling wxWidgets in several configurations several times and fighting for four hours to finally get a working 2 MB stripped executable, I decided to use raw Win32 API instead. It took little over one hour including reading the MSDN documentation, and the executable is 17 kB, including icons...
Regarding the project wizard, when I last used it a week ago, it made me cry because it was setting up everything incorrectly (did not specify the correct include and linker paths, and did not configure properly for static linkage either).
However, as Yiannis said above, the wizard has seen an overhaul, so that problem should be solved now. You still may have to add a few libraries by hand, but it should work rather painlessly now.