mm-motm
22.11.04, 17:11
Hullo
ich bin gerade dabei ein kleines Projekt (Programm) in C zu starten, doch leider habe ich ein kleines
Startproblem. Ich kann das Programm nicht kompilieren.
Mein Problem ist das ich den Quellcode auf mehrere Datein aufsplitten will.
main.cc //globale Variablen, Main
global.h //#defines, globale Variablen,includes
funktionen.h //prototyp der funktionen
funktionen.cc //die funktionen.
Bis jetzt mach ichs so das ich in main infach #include "global.h" und #include "funktionen.h" stehn hab, und dann die globalen Variablen sammt Hauptprogramm
In global.h hab ich die includes der benoetigten header datein, ein paar #defines und die globalen Variablen (mit einem extern davor, weil so hab ich gehoert darf eine globale variable nur einmal definiert werden).
in funktionen.h hab ich die prottypen
und in funktionen.cc die funktionen
main.cc
#include "global.h"
#include "funktionen.h"
int globalevariable;
int main()
{return;}
global.h
#ifndef GLOBAL_H
#define GLOBAL_H
#include <stdlib.h>
#define etwas 1234
extern int globalevariable;
#endif
funktionen.h
#ifndef FUNKTIONEN_H
#define FUNKTIONEN_H
void prototyp(int i);
#endif
funktionen.c
#define "global.h"
#define "funktionen.h"
void prototyp(int i)
{
return i;
}
So als IDE verwende ich Anjuta, ich hab alle datein in das src verzeichniss des projektes gelegt, und dann die header Datein in das projekt inkludiert. (anjuta hat dann die header datein in das include Verzeichniss kopiert). Kompilieren kann ich main.cc aber die anweisung #include "global.h" wird seltsamerweise unterstrichen, ohne das eine Fehlermeldung erscheint.
Wenn ich das gantze dann linken will, gibts aber Probleme weil die globalen variablen die ich in funktionen.h verwende nicht bekannt sind.
SO meine eigentlichen Fragen. Wie bekomm ich das gantze mit Anjuta zum laufen, und wie funktioniert das eigentlich mit gcc also per Hand wenn man wie in diesem Fall mehrer Quelldatein hat.
ich bin gerade dabei ein kleines Projekt (Programm) in C zu starten, doch leider habe ich ein kleines
Startproblem. Ich kann das Programm nicht kompilieren.
Mein Problem ist das ich den Quellcode auf mehrere Datein aufsplitten will.
main.cc //globale Variablen, Main
global.h //#defines, globale Variablen,includes
funktionen.h //prototyp der funktionen
funktionen.cc //die funktionen.
Bis jetzt mach ichs so das ich in main infach #include "global.h" und #include "funktionen.h" stehn hab, und dann die globalen Variablen sammt Hauptprogramm
In global.h hab ich die includes der benoetigten header datein, ein paar #defines und die globalen Variablen (mit einem extern davor, weil so hab ich gehoert darf eine globale variable nur einmal definiert werden).
in funktionen.h hab ich die prottypen
und in funktionen.cc die funktionen
main.cc
#include "global.h"
#include "funktionen.h"
int globalevariable;
int main()
{return;}
global.h
#ifndef GLOBAL_H
#define GLOBAL_H
#include <stdlib.h>
#define etwas 1234
extern int globalevariable;
#endif
funktionen.h
#ifndef FUNKTIONEN_H
#define FUNKTIONEN_H
void prototyp(int i);
#endif
funktionen.c
#define "global.h"
#define "funktionen.h"
void prototyp(int i)
{
return i;
}
So als IDE verwende ich Anjuta, ich hab alle datein in das src verzeichniss des projektes gelegt, und dann die header Datein in das projekt inkludiert. (anjuta hat dann die header datein in das include Verzeichniss kopiert). Kompilieren kann ich main.cc aber die anweisung #include "global.h" wird seltsamerweise unterstrichen, ohne das eine Fehlermeldung erscheint.
Wenn ich das gantze dann linken will, gibts aber Probleme weil die globalen variablen die ich in funktionen.h verwende nicht bekannt sind.
SO meine eigentlichen Fragen. Wie bekomm ich das gantze mit Anjuta zum laufen, und wie funktioniert das eigentlich mit gcc also per Hand wenn man wie in diesem Fall mehrer Quelldatein hat.