Normalmente, um compilador cruzado é usado para construir o mesmo sistema operacional, mas uma arquitetura diferente - como a criação de um ARM em um sistema Intel. No entanto, existe uma coisa chamada MinGW que usa basicamente os mesmos conceitos e inclui um tempo de execução mínimo do GNU para que você possa facilmente criar programas que compilam Sistema GNU / Linux e executado no Windows.
Há uma pergunta e uma resposta no Stack Overflow, que abrange a configuração no Eclipse. link
Note, porém, que você precisará compilar seu código duas vezes - C ++ não foi projetado para "gravar uma vez, executar em qualquer lugar". E talvez seja necessário fornecer seções específicas do Windows nas quais as abstrações do sistema operacional não se misturam.