Manejo de #include routes en diferentes plataforms

Estoy desarrollando un software en una plataforma Arch Linux con NCurses. Tiene un #include <ncurses.h> en un encabezado global.

Mi queueborador trabaja en Windows y emula un shell bash con Cygwin. Sin embargo, cygwin instala las bibliotecas ncurses de modo que debe usar #include <ncurses/ncurses.h> . Es trivial cambiar, pero nuestra historia de Git podría consistir en esa línea que cambia de ida y vuelta varias veces si uno de nosotros olvida lo que parece tonto.

¿Hay alguna class de verificación de preprocesador que pueda hacer para usar la ruta adecuada?

Como dijo @BoBTFish, debe especificar la ruta de inclusión en el file Makefile (diferente para cada plataforma). Si no, puedes usar la macro __CYGWIN__ (o __CYGWIN32__ , no estoy seguro de cuál funcionará) para detectar si estás usando cygwin , como

 #ifdef __CYGWIN__ #include <ncurses/ncurses.h> #else #include <ncurses.h> #endif 

Consulte http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/pnetworkingefined-macros-platform.html para get más detalles.