Bienvenido a la cruda realidad...
Citar
¿No se supone que un programa en C es totalmente válido en Windows?
Pues no.
Realmente el lenguaje si es compatible, lo que no son compatibles son las funciones del API. Linux usa normalmente un stack de bluetooth llamado BlueZ. Windows usa uno propio de microsoft. Aunque los dos usan el interface de Sockets para acceder a la plataforma de stack, hay muchas cosas diferentes...
Como te he dicho no te vale el ejemplo que te ha indicado Gospel para Windows.
Saludos,
Sir Graham.