
betaros
Computerspezi
Moin,
ich versuche zur Zeit Header und Präcompiler zu verstehen und stoße auf folgendes Problem:
test.cpp
config.h
ausgabe.h
ausgabe.cpp
Mein Problem ist nun, dass er ausgabe() nicht aufrufen kann. Es kommt als Fehler:
Ich verstehe nicht wieso er diese Funktion nicht finden kann, wenn ich es doch definiert habe
Freue mich über jede Hilfe.
Viele Grüße
betaros
ich versuche zur Zeit Header und Präcompiler zu verstehen und stoße auf folgendes Problem:
test.cpp
Code:
#include <iostream>
#include "config.h"
#include "ausgabe.h"
using namespace std;
int main(){
#ifdef breite
cout << "Breite ist definiert" << endl;
#endif
#if defined(breite)
cout << "Breite ist definiert 2" << endl;
#endif
ausgabe();
if(breite == 80){
cout << "Breite ist 80" << endl;
}
}
config.h
Code:
#define breite 80
ausgabe.h
Code:
#ifdef breite
void ausgabe();
#endif
ausgabe.cpp
Code:
#ifdef breite
#include <iostream>
using namespace std;
void ausgabe(){
cout << "Die Breite ist definiert" << endl;
}
#endif
Mein Problem ist nun, dass er ausgabe() nicht aufrufen kann. Es kommt als Fehler:
Code:
$ g++ -Wall -o test test.cpp
ausgabe.h:2:17: Warnung: inline-Funktion »void ausgabe()« verwendet, aber nirgendwo definiert [standardmäßig aktiviert]
/tmp/ccWHCkYg.o: In function `main':
test.cpp:(.text+0x52): undefined reference to `ausgabe()'
collect2: ld gab 1 als Ende-Status zurück
Ich verstehe nicht wieso er diese Funktion nicht finden kann, wenn ich es doch definiert habe

Freue mich über jede Hilfe.
Viele Grüße
betaros
Zuletzt bearbeitet: