![betaros](/data/avatars/m/19/19910.jpg?1445334205)
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![verwirrt ?( ?(](/styles/default/xenforo/smilies-ub/confused.gif)
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
![verwirrt ?( ?(](/styles/default/xenforo/smilies-ub/confused.gif)
Freue mich über jede Hilfe.
Viele Grüße
betaros
Zuletzt bearbeitet: