How has no one mentioned Code::Blocks!
Not only is it a fantastic Open Source IDE for C++, but it's fully cross platform, so if you need to work on a Windows or Mac box for a bit, you can use the exact same IDE, and exact same project files to do so! Which is great for cross-compiling!