[linux-l] Fehlermeldungen in Datei umlenken (C++)

Olaf Radicke olaf_rad at gmx.de
Do Mai 22 22:42:01 CEST 2003


Ich bin jetzt ein Schritt weiter mit dem Versuch meine
Fehlermeldungen in eine Datei um zu lenken

Dazu wollte ich einen globalen Stream benutzen. Wenn sich
alles nur in einer Datei abspielt und ich den stream außerhalb
von der main-Funktion deklariere geht das wunder bar. Wenn ich
das dann in einer Header-Datei auslagere und nur ein mal 
inkludiere geht das auch noch.

---- error.hpp ---------
#ifndef ERROR_HPP
#define ERROR_HPP
#include <iostream>


//std::ofstream fehler("./fehlermeldungen.txt");

#endif

------ error.cpp ----------
#include <iostream>

#include "error.hpp"
using namespace std;

ofstream fehler("./fehlermeldungen.txt");

---------------------------

Aber wenn ich das in mehere Dateien inkludiere
bekomme ich die Meldung:

error.hpp:19: variable `std::ofstream fehler' has initializer but
incomplete 
type
error.cpp:6: redefinition of `std::ofstream fehler'
error.hpp:19: `<typeprefixerror> fehler' previously declared here
error.cpp:6: warning: type mismatch with previous external decl
error.hpp:19: warning: previous external decl of `<typeprefixerror>
fehler'
error.cpp:6: variable `std::ofstream fehler' has initializer but
incomplete 
type
error.hpp:19: storage size of `fehler' isn't known
error.cpp:6: storage size of `fehler' isn't known

Und der Linker Meint:

./projekt.o:/home/or/non-sys/XML-Doku/src_xml-doku/projekt.cpp:20:
multiple 
definition of `fehler'
./main.o:/home/or/non-sys/XML-Doku/src_xml-doku/main.cpp:21: first
defined 
here

In Zeile 21 von main.cpp steht:

    fehler << "Version:" << endl;

Also keine definition.

Wenn ich "error.hpp" nur ein mal in mein.cpp inkludiere bekomme ich
die Fehlermeldung, das in allen andern Dateien "fehler" nicht bekannt
sei.

MgG Olaf
-- 
------======######HHHHHHHHHHHHHHHHH######======------ 
Free Software zeigt das Anarchie funktionieren kann!
Ich finde es ist jetzt an der Zeit es mit "Freigeld" 
                    zu versuchen.
------======######HHHHHHHHHHHHHHHHH######======------





Mehr Informationen über die Mailingliste linux-l