I wonder what happens when Microsoft develop a linux/mac wrapper that has exactly the same signature as the WINAPI.. Well of course that might not be possible because of some design issues or things like.. Just a weird vision of mine.
Ease of use and efficient design have nothing to do with the toolkit used, and are subjective and dependant on the programmer and techniques applied. Personally, I find wrapping C functions in C++ classes just pointless, and I have always prefered just using C bindings instead of wasting my time writing pointless classes for everything.
And some people just don't give a crap about portability. I'm currently in the process of writing cross-platform software for a work contract, and it's the most aggravating sh*t ever even with a cross-platform toolkit. If I had the choice to write only for Windows, I would.
I'm not that big a fan of cross platform UI toolkits. I usually end up having more work to do, especially if you want to do something that is not in the toolkit.
I never said that they are easy to make. That doesn't mean they contribute to having slow execution speed or bloat.
EDIT: I use cross-platform libraries such as Boost. If I need platform specific function, I have two separate files and then figure out which to use at compile time.
I use Visual Studio 2010 Professional. I have a MSDN subscription so I get all that stuff for free. If I'm on another computer I typically run devC++ off a flash drive or something.
I have tried, from time to time, other IDE's (on Linux) but nothing works as well for me. It is a little complex to configure at times, but that is probably because I'm often too eager to read the manual.