Como desenvolver um projeto C ++ multiplataforma?

Eu sou um iniciante em C ++ e estou começando a desenvolver meu primeiro projeto em C ++ multiplataforma. Eu preciso usar chamadas específicas de plataforma (Win32 e POSIX), então eu preciso compilar com freqüência tanto no Windows quanto no Linux.

Com projetos de plataforma única que estou usando, até agora, o KDevelop no Linux e o Visual Studio 2012 no Windows.

Como posso usar dois IDEs diferentes em dois sistemas operacionais diferentes com o mesmo projeto?

Devo usar uma IDE única e multiplataforma?Devo aprender o CMake (ou similar) e configurá-lo para trabalhar com os dois IDEs?Poderia / Devo hospedar meu código na Web e sincronizar automaticamente com projetos off-line?Alternativas?

Agradecemos antecipadamente a todos.

EDITAR:

Apenas para esclarecimento, o projeto será um servidor simples para um protocolo escolar. Haverá um cliente pedindo para carregar / recuperar alguns arquivos para / do servidor. Comescolar Quero dizer que, por exemplo, eu tenho que usar threads pthreads / win32 em vez de uma biblioteca de threads C ++ de nível superior.

questionAnswers(5)

yourAnswerToTheQuestion