Was der Solution Explorer anzeigt, ist dem Compiler hezlich egal. Der
weiß davon nichts, der sieht nur, was du in das Source-File
hineinschreibst.
Du machst einen entscheidenden Fehler: In *.h-Dateien gehören nur
Definitionen, keine Deklarationen, denn ansonsten wird die Variable in
jedem Objekt angeleget, welches das headerfile inkludiert, und dann
meckert der linker.
Das hier ist eine kombinierte Deklaration/Definition
1 | struct FLAGBYTE2
|
2 | {
|
3 | ...
|
4 | }
|
5 | selectInput2;
|
Die musst du aufteilen. In das header-file schreibst du:
1 | struct FLAGBYTE2
|
2 | {
|
3 | ...
|
4 | }
|
5 | extern struct FLAGBYTE2 selectInput2;
|
In EIN .c-File kommt dann:
1 | struct FLAGBYTE2 selectInput2;
|
Dann klappts auch mit den includes ;)
Oliver