O
onyx
Hallo,
bisher habe ich nur in Java und verschiedenen Skriptsprachen programmiert, muss aber jetzt für einen Kurs in C programmieren. Ich habe mir dazu Xcode installiert, doch habe ich "auf die Schnelle" keine Möglichkeit gefunden, die notwendigen Compiler-Flags anzugeben (dazu gleich mehr).
Also habe ich meine Installation von Eclipse um CDT erweitert, um dort die Möglichkeit nutzen zu können, entsprechende Programme zu erstellen. Hier habe ich auch sofort die Möglichkeit gefunden, die entsprechenden Compiler-Flags zu setzten, welche wir nutzen sollen: -ansi -pedantic -D_POSIX_SOURCE -Wall -Werror.
Wenn ich Eclipse nun mittels Druck auf Run anweise, den Quelltext auszuführen, erhalte ich die folgenden Fehlermeldungen:
Mein Quelltext sieht wie folgt aus:
Drücke ich erneut auf Run, öffnet sich eine Fehlermeldung, die mich darauf hinweist: "Launch failed, no binaries".
Testweise habe ich den Quelltext mal im Terminal ohne Compiler-Flags aufgerufen und das Programm funktioniert so, wie es soll.
Wo liegt mein Fehler/meine Fehler und wie kann ich diese beheben?
Vielen Dank im Voraus.
Edit:
Ich habe gerade in Xcode die entsprechenden Optionen gefunden, um die Flags zu setzen: Wenn -Wall gesetzt wird, bricht das Kompilieren ab (mit den o.g. Meldungen), wird dagegen -w gesetzt, läuft alles einwandfrei.
bisher habe ich nur in Java und verschiedenen Skriptsprachen programmiert, muss aber jetzt für einen Kurs in C programmieren. Ich habe mir dazu Xcode installiert, doch habe ich "auf die Schnelle" keine Möglichkeit gefunden, die notwendigen Compiler-Flags anzugeben (dazu gleich mehr).
Also habe ich meine Installation von Eclipse um CDT erweitert, um dort die Möglichkeit nutzen zu können, entsprechende Programme zu erstellen. Hier habe ich auch sofort die Möglichkeit gefunden, die entsprechenden Compiler-Flags zu setzten, welche wir nutzen sollen: -ansi -pedantic -D_POSIX_SOURCE -Wall -Werror.
Wenn ich Eclipse nun mittels Druck auf Run anweise, den Quelltext auszuführen, erhalte ich die folgenden Fehlermeldungen:
make: *** [rek-sum.o] Error 1 uebungsaufgabe0 line 0
ISO C forbids nested functions uebungsaufgabe0 rek-sum.c line 15
ISO C90 forbids mixed declarations and code uebungsaufgabe0 rek-sum.c line 22
return type defaults to 'int' uebungsaufgabe0 rek-sum.c line 5
Mein Quelltext sieht wie folgt aus:
Code:
#include <stdio.h>
/* Die Summe der Zahlen von 1 bis n berechnen und entsprechend ausgeben */
main(){
int sum;
int n;
printf("Bitte geben Sie eine Zahl ein: ");
scanf("%d", &n);
printf("Die eingegebene Zahl war %d\n", n);
int sum_n(int n){
if (n > 0){
sum += n;
--n;
sum_n(n);
}
return sum;
}
printf("Summe von 1 bis %d: %d\n", n, sum_n(n));
return 0;
}
Testweise habe ich den Quelltext mal im Terminal ohne Compiler-Flags aufgerufen und das Programm funktioniert so, wie es soll.
Wo liegt mein Fehler/meine Fehler und wie kann ich diese beheben?
Vielen Dank im Voraus.
Edit:
Ich habe gerade in Xcode die entsprechenden Optionen gefunden, um die Flags zu setzen: Wenn -Wall gesetzt wird, bricht das Kompilieren ab (mit den o.g. Meldungen), wird dagegen -w gesetzt, läuft alles einwandfrei.
Zuletzt bearbeitet von einem Moderator: