Então você está tentando desenvolver aplicativos em C++ no Ubuntu, ou mesmo portar para Linux aplicativos em C++ que originalmente só funcionam em Windows?
Pois bem, uma das vantagens de se usar Linux para programadores é que quase toda instalação do Linux já possui aplicativos básicos necessários para programar em C++ e compilar seus aplicativos. Peguemos por exemplo o MinGW, que é um compilador C++ para Windows: Para você usar o MinGW no seu computador, você terá que instalá-lo manualmente, ou por si só, ou junto com algum outro programa (o Dev-C++, por exemplo, quando você instala no computador, já vem com um compilador C++ incluso. Só não sei ao certo qual o nome).
Já no Linux, geralmente já vem instalado o compilador "gcc" (compilador livre para C) e "g++" (compilador livre para C++). Digamos que você possua o seguinte arquivo em C, de nome "teste.c":
#include <stdio.h>
main(){
printf("Hello World");
}
Para compilá-lo no Linux e gerar um binário, basta o comando:
gcc teste.c -o teste.bin
Isso vai gerar um arquivo executável compilado a partir do seu código. O arquivo terá nome "teste.bin", que quando executado assim:
./teste.bin
Retornará na tela a mensagem "Hello World".
Caso sua instalação não venha com o gcc ou o g++, você pode instalá-lo no seu computador a partir do comando:
sudo apt-get install build-essential
E é isso. Desse modo, caso você tenha o código-fonte de um programa em C++, você pode tentar compilá-lo no Linux desta forma. Sei que não respondeu a pergunta a respeito da biblioteca "windows.h", mas antes disso tenho mais uma dúvida: No seu caso, sobre o seu programa "Windows" que você quer compilar no Linux, você tem o seu código-fonte em C++?