30 de noviembre de 2007

La Locura de los Include

#include "mifichero.h"

No suena mal, ¿verdad?. Parece una linea de código totalmente inocente. No hay nada maligno en está simple linea de código C/C++. Pues los que piensen así están equivocados.

El problema viene, cuando intentas compilar un proyecto realizado en Windows, en Linux, que es lo que he sufrido estos últimos días. En Linux si que se tiene en cuenta si el nombre de un fichero esta con mayúsculas o no. Y si en Windows no tuviste preocupación a la hora de escribir los includes, en Linux te va morder. Si tienes 35-40 ficheros de código, y en cada fichero de código entre 5 y 10 includes y los include a veces los pones como toca, o a veces todo en minúscula u otras veces camel-case, pues lo más seguro es que te pases toda la mañana cambiando nombre de ficheros.

Mi solución
#include "mifichero.h"

Bueno, mi solución puede parecer el mismo código que el que puse al principio. Eso es porque el mal no esta en el include, solo hay que seguir una simple regla:

En el include usa exactamente el mismo nombre que el que tenga el fichero. Incluyendo mayúsculas y minúsculas.

Esto es todo por hoy, en otra ocasión ya hablare de "La guerra eterna entre tabuladores y espacios".