Mail Archives: djgpp/1998/10/22/05:15:12
Toni Rasanen (torasane AT mail DOT student DOT oulu DOT fi) wrote:
: Does anyone have any ideas why some of my variables seem to get
: defined two times, first occurance being in sources they
: definitely are not in...
: I use a .h -file to define the variables (a really stupid vay,
: but...), with #ifdefs trying to make sure they won't be defined
: again. In .h, there is nothing but variables (and they aren't
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: defined extern). I use those variables in various .c -files,
^^^^^^^^^^^^^^^^
: as they are global. Then I have in all .c's that use those
: variables 'vars.h' included...
: eg.
: in 'main.c': #include "many_others.h"
: #include "gfx.h"
: #include "vars.h"
: in 'gfx.c': #include <some_others.h"
: #include "vars.h"
: However, when I try to compile this, compler tells me that some of
: (but not all!) the variables in vars.h are previously defined in some
: other .c -file...
: /// Toni Räsänen
: /// torasane AT mail DOT student DOT oulu DOT fi
Your problem is obviuos from the indicated line above. If you declare
variables in header files you really, really, _really_ should declare
them with "extern" and have the variable defined in one of your .c
files (without extern).
Read a good C book.
Right,
MartinS
- Raw text -