I found and stuck to my cross platform solution a few years ago. I got so fed up of catering for different operating systems, doing the same kind of code over and over only in different contexts with different calls. so :

Lazarus for an IDE (FPC as compiler). Cross Platform. You don't have to use the FCL. It's Free. syn-edit empowered code editor / code completion not to mention a hierarchical code explorer for complex objects and one click jump between routine decelerations / implementations. It's nearly everything you need.

SDL is great for uniform input handling, window & context(GL) creation etc plus it exists for most of the important computer/OS combos that FPC supports. (I don't personally use it for anything other than input, window/context creation and sound. But it's nice to know it's all there should I need it)

http://imaginglib.sourceforge.net/ - Vampyre - FPC, Cross platform etc more than good enough for your image loading/saving needs.

Audio... use SDL or platform specifics if you want to keep it open source or use BASS/FMOD if you want to save yourself tons of work.

oh and there's a few good networking libs depending on what kind of project you're working on. Synapse, lnet, indy etc. I use my own for raw packet game type stuff.