Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » mehrere dateien mit include einbinden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
16.01.2004, 21:34 Uhr
BeS



Hallo,
ich schreibe gerade ein C Programm, da ich mehrere Konstanten in allen Dateien brauche dachte ich mir ich schreibe eine def.h und binde die in jede Quelldatei ein.
Das die def.h nicht mehrfach eingebunden wird habe ich diese Zeilen eingefügt:

C++:
#ifndef __DEFINITIONS_H__
#define __DEFINITIONS_H__

...

#endif



eigentlich genauso wie bei den header files von C.
Ich kann jetzt die einzelnen Dateien compilieren, wenn ich sie aber zusammenlinken will bekomme ich die Fehlermeldung das die Konstanten mehrfach definiert sind.

Was mache ich falsch?

Danke!
--
If art interprets our dreams, the computer execute them in the guise of programs!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.01.2004, 21:40 Uhr
0xdeadbeef
Gott
(Operator)


In den Headern darfst du die Dinger nur deklarieren. Initialisieren musst du sie in einer eigenen .c-Datei. Also:

C++:
/* def.h */

#ifndef INCLUDED_DEF_H
#define INCLUDED_DEF_H

extern const int my_constant;

#endif



C++:
/* def.c */
#include "def.h"

const int my_constant = 42;


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: