I want to start writing platform independent and open source code (mostly C++). What do I have to consider when doing so? Stop using IDEs and use makefiles from now on? What do all the "professional" open source coders do (like the guys behind GNU) and what tools do they use? I'm especially interested into developing shared libraries. How do I make these cross platform (so it works as ".so" on Linux and as ".dll" on Windows)?
I'm working on Windows so I'm not that much into all the Linux tools and terminology. Are there good tools to get the same result on Windows as on Linux?