I have shrunk my code Aplicacion.c
to this minimum expression:
#if MIVAR == pirulo
#include "a_file.h"
#elif MIVAR == pepe
#include "b_file.h"
#endif
If I compile using gcc -DMIVAR=pepe Aplicacion.c
, I would suppose it tries to include b_file.h
, but I get the following error:
Aplicacion.c:4:10: fatal error: a_file.h: No such file or directory #include "a_file.h" ^~~~~~~~~~
Even if I define inside the source:
#define MIVAR pepe
#if MIVAR == pirulo
#include "a_file.h"
#elif MIVAR == pepe
#include "b_file.h"
#endif
When I execute gcc Aplicacion.c
(or gcc -E Aplicacion.c
), I still get the same error.
I feel it should be obvious, but I can not find out what is happening.
Any idea?
(All of this happens in Ubuntu)