|
Re: Multiple Definitions
You want the compiler to encounter only one declaration for the variable as it processes the set of source source files. Your technique above is designed to prevent multiple references or forward references to be encountered , not multiple variables. I'm sure your custom_routines.h file is processed when you compile multiple separate source files.
So do his, change the statement in custom_routines.h to an external reference and declare storage for the variable in ONLY one source file.
In custom_routines.h, do this:
#ifndef _CUSTOM_ROUTINES_H_
#define _CUSTOM_ROUTINES_H_
...
extern bool ReleasingBall;
...
#endif
In custom_routines.c, do this:
....
#include <timer.h>
#include "custom_routines.h"
bool ReleasingBall; // defined only here!
// function definitions
...
One last thing, it is generally considered bad style to define storage in a header file for exactly the reason you have encountered.
HTH
|