You must fix your usage of the preprocessor as follows:
- Include a space between
#define
and its operand. - To implement include guards properly, you need a corresponding
#ifndef
before the#define
. - As wildplasser said, you can’t use macro names beginning with underscore(s), so remove them, or replace them with some other prefix of your own.
#ifndef HELLO_H
#define HELLO_H
void hello();
#endif // HELLO_H
solved How to define new header files with preprocessing directive #define? [duplicate]