pues para que ande en ambos sistemas use solo librerías estándares y librerías portables.
con lo de estándar me refiero a que uses solo las librerías de C/C++ estándares. Con lo de portable me refiero a las librerías gráficas.
Por ejemplo DirectX solo funca en windows pero a cambio OpenGL es mucho mas portable.
Librerías gráficas portables para 2d en C es SDL, para C++ SFML, para las 3d esta opengl que puedes combinar con SDL y SFML. Hay una también llamada Ogre3D pero realmente no se si es buena, al menos no pinta mal.
Esta claro que no todo sera compatible pero para eso esta el #ifndef linux #define /*tu código*/ #endif, luego con que ponga eso en partes que quieres rular en windows, o haces el contrario XDD
Solo son ideas.
Es que por ejemplo hay librerías que no sirven en windows y otras en linux y para eso esta el ifndef/ifdef...
Ademas bájate alguna maquina virtual y instala win.
Edit:
Mira ver... son infinitas las posibilidades de eso =)
Código C++:
Ver original#define linux //si pones linux solo funcionaran partes de código para linux si usas el difine.
#define lang 'c' //alternar de c a cpp y contrario. marcar esta linea como comentario alterna de código c a cpp
//librerias comunes
//c
#if lang == 'c' // si lang no esta definido...
#include <stdio.h>
#include <stdlib.h>
//cpp
#else //...sera cpp
#include <iostream>
#endif
//librerias para linux
#ifdef linux
//librerias para linuxaqui
#endif // linux
//librerias para windows
#ifdef windows
#include <winsock2.h>
#include <windows.h>
#endif // windows
int main () {
//código en c
#if lang == 'c' // si lang no esta definido...
#else//código en cpp // ...sera cpp
std::cout << "codigo cpp" << std::endl;
#endif // cpp
getchar();//aqui tambien deberia alternar el metodo de pausa entre C/C++. Otro es el la función cls y clean usando lo dicho anteriormente. return 0;
}
Suerte y a ver si me busca un curro en tu empresa de juegos :3