Oui, le terme "compiler" est approprié ici.
Cygwin n'est pas un compilateur, voir http://fr.wikipedia.org/wiki/Cygwin
Quand on compile avec Cygwin, on utilise en fait le compilateur gcc ou bien le compilateur g++, ou encore un autre compilateur. Cela dépend de la configuration choisie.
Mais la difficulté principale, que je devine (je n'en suis pas sûr) pour ce programme, sera d'adapter le code source, car il arrive que les fonctions ne soient pas tout à fait les mêmes pour Unix et pour Windows. Par exemple, pour les sockets, Windows utilise les fonctions de winsock, par exemple WSAStartup() que Unix n'utilise pas.