¿Quieres compilar tu programa en Linux y que pueda ejecutarse en Windows? Probablemente te sirva este artículo:
Compilación cruzada
Saludos,
JJ (Geo).
Bueno esa es una forma, pero en realidad el compilado no lo puedes ejecutar sobre Linux, si lo compilas sobre Windows, al menos de forma nativa.
Pero en si, la fuente si la puedes compilar para ambas arquitecturas.
Otra forma de hacer algo parecido a lo que se refiere Geo, es mediante macros, para determinar sobre que SO y que compilador se esta empleando, pero es mas tedioso y puede volverse complicado segun la dimension del codigo.