Schnelle objektorientierte, kompilierende Programmiersprache.
-
Mampf111
- Beiträge: 24
- Registriert: Mi Feb 05, 2014 9:59 am
- Wohnort: Bielefeld
Beitrag
von Mampf111 » Do Feb 06, 2014 9:36 am
Guten Tag,
ich möchte erst gar nicht lange drum herum reden.
Habe die Entwicklungsumgebung Code::Blocks. Den dort enthaltenen Compiler habe ich nach dem Tutorial (
http://www.proggen.org/doku.php?id=c:co ... dows:mingw) installiert.
Wenn ich nun 'gcc' eingebe bekomme ich folgende Ausgabe:
Code: Alles auswählen
gcc: fatal error: no input files
compilation terminated
Gebe ich 'gcc -o main.exe main.c' ein (natürlich in dem Verzeichnis, in dem auch die main.c Datei enthalten ist), bekomme ich:
Vielleicht hatte jemand ein Ähnliches Problem oder kann mir Ratschläge geben, wie ich es lösen kann.
Vielen Dank im Voraus!
LG Mampf111
-
Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
-
Kontaktdaten:
Beitrag
von Xin » Do Feb 06, 2014 10:23 am
Mampf111 hat geschrieben:Guten Tag,
ich möchte erst gar nicht lange drum herum reden.
Habe die Entwicklungsumgebung Code::Blocks. Den dort enthaltenen Compiler habe ich nach dem Tutorial (
http://www.proggen.org/doku.php?id=c:co ... dows:mingw) installiert.
Wenn ich nun 'gcc' eingebe bekomme ich folgende Ausgabe:
Code: Alles auswählen
gcc: fatal error: no input files
compilation terminated
Das ist erstmal kein Fehler.
Mampf111 hat geschrieben:Gebe ich 'gcc -o main.exe main.c' ein (natürlich in dem Verzeichnis, in dem auch die main.c Datei enthalten ist), bekomme ich:
Vielleicht hatte jemand ein Ähnliches Problem oder kann mir Ratschläge geben, wie ich es lösen kann.
Hmm... nein. Mit main.exe gehe ich mal von Windows aus. Wie sieht denn die main.c aus? Hast Du da ein #include <CreateProcess> drin?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
PairOfOldShoes
- Beiträge: 14
- Registriert: Do Jan 23, 2014 11:12 am
Beitrag
von PairOfOldShoes » Do Feb 06, 2014 10:34 am
Hast du neugestartet, nachdem du die Pfad-Variable erweitert hast?
-
cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Beitrag
von cloidnerux » Do Feb 06, 2014 11:16 am
Hast du neugestartet, nachdem du die Pfad-Variable erweitert hast?
Das ist nicht das Problem, gcc wird erkannt. Man muss auch nicht neu starten, man muss nur die Konsole neu starten, sofern sie offen war.
Redundanz macht wiederholen unnötig.
quod erat expectandum
-
Mampf111
- Beiträge: 24
- Registriert: Mi Feb 05, 2014 9:59 am
- Wohnort: Bielefeld
Beitrag
von Mampf111 » Do Feb 06, 2014 11:57 am
Vielen Dank für die schnelle Antwort!
Xin hat geschrieben:Wie sieht denn die main.c aus? Hast Du da ein #include <CreateProcess> drin?
Nein, diese Zeile habe ich nicht in meinem Programm. Könnte das die Fehlerursache sein?
cloidnerux hat geschrieben:Man muss auch nicht neu starten, man muss nur die Konsole neu starten, sofern sie offen war.
Habe ich getan, hat leider nicht geändert...
-
Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
-
Kontaktdaten:
Beitrag
von Xin » Do Feb 06, 2014 12:05 pm
Mampf111 hat geschrieben:Xin hat geschrieben:Wie sieht denn die main.c aus? Hast Du da ein #include <CreateProcess> drin?
Nein, diese Zeile habe ich nicht in meinem Programm. Könnte das die Fehlerursache sein?
Sicher... aber wenn sie nicht drin ist...
Kannst Du den Code posten?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
Mampf111
- Beiträge: 24
- Registriert: Mi Feb 05, 2014 9:59 am
- Wohnort: Bielefeld
Beitrag
von Mampf111 » Do Feb 06, 2014 12:35 pm
Das ist mein Code: Allerdings muss ich dazu sagen, dass der genannte Fehler immer auftritt, unabhängig von dem Code
Code: Alles auswählen
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int pruefen(int eingabe)
{
if(eingabe == 88 || eingabe == 120){
return 0;
}else{
return 1;
}
}
int eingabe()
{
unsigned int eingabe;
printf("Zeichen eingeben\n>");
eingabe = fgetc(stdin);
while (getchar() != '\n');
return eingabe;
}
int main()
{
unsigned int zeichen;
zeichen = eingabe();
while(pruefen(zeichen)){
printf("Kontrollausgabe: %c\n", zeichen);
printf("\n\n");
zeichen = eingabe();
}
printf("Die Eingabe wurde beendet");
return 0;
}
Edit: Wenn ich '#include <CreateProcess>' einfüge kann der Compiler in C::B die .exe nicht builden...
-
PairOfOldShoes
- Beiträge: 14
- Registriert: Do Jan 23, 2014 11:12 am
Beitrag
von PairOfOldShoes » Do Feb 06, 2014 12:47 pm
cloidnerux hat geschrieben:Hast du neugestartet, nachdem du die Pfad-Variable erweitert hast?
Das ist nicht das Problem, gcc wird erkannt. Man muss auch nicht neu starten, man muss nur die Konsole neu starten, sofern sie offen war.
gcc schon, aber g++ möglicherweise nicht. Soweit ich weiß versucht gcc intern einen g++-Prozess zu starten um C++ Programme zu kompilieren. Kann mich aber auch irren.
-
Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
-
Kontaktdaten:
Beitrag
von Xin » Do Feb 06, 2014 12:52 pm
Mampf111 hat geschrieben:Das ist mein Code: Allerdings muss ich dazu sagen, dass der genannte Fehler immer auftritt, unabhängig von dem Code
Das ist doch eine nicht uninteressante Aussage.
Welche Version des GCC verwendest Du?
(gcc -v)
Mampf111 hat geschrieben:Edit: Wenn ich '#include <CreateProcess>' einfüge kann der Compiler in C::B die .exe nicht builden...
Das heißt er kompiliert die main.exe obwohl er einen error anzeigt?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
-
Mampf111
- Beiträge: 24
- Registriert: Mi Feb 05, 2014 9:59 am
- Wohnort: Bielefeld
Beitrag
von Mampf111 » Do Feb 06, 2014 12:58 pm
Version:
Code: Alles auswählen
gcc (tdm-2) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Also es ist so:
Compiliere ich die *.c Datei in C::B bekomme ich ohne Fehler oder sonstiges meine *.exe und kann diese auch Problemlos ausführen.
Gehe ich aber über den Umweg über die Kommandozeile und möchte die *.c Datei mittels 'gcc -o *.exe *.c' compileren, gibt es die eingangs erwähnte Fehlermeldung