# Compiler markiert keine Quellcode - Zeile, weder kompiliert er



## kuki122 (19. Mai 2011)

HI.

Ich nutze DEV C++ als Compiler für meine C-Projekte.
Allerdings kommt es des Öfteren immer wieder vor, dass beim compilen kurz das übliche kleine Fenster aufgeht, aber direkt wieder verschwindet.
Es wird weder eine Zeile rot markiert, noch wird der Kompiliervorgang abgeschlossen. 

Woran könnte das liegen?

Gibt es vielleicht gute (u. neuere) Alternativen zu Dev C++?


----------



## bingo88 (19. Mai 2011)

Du kannst Visual C++ 2010 Express versuchen (gibt's gratis bei Microsoft). Wenn du open source bleiben möchtest, kannst du es mal mit Code::blocks versuchen


----------



## kuki122 (19. Mai 2011)

Könntest du mir sagen, wie man in Visual C++ ein C Quelltext kompiliert?


----------



## bingo88 (19. Mai 2011)

Ähm, einfach eingeben und auf "Erstellen" oder so klicken? Du kannst mit Visual C++ auch C-Programme erstellen, lass dich da nicht vom Namen verwirren 

Evtl. bei der Projekterstellung "Leeres Projekt" angeben, dann kannst du alle Dateien selbst angeben/erstellen ohne das dir VS da was vorgibt.


----------



## kuki122 (19. Mai 2011)

Das hier bekomme ich, wenn ich auf den grünen Pfeil klicke...


----------



## bingo88 (19. Mai 2011)

Jo, erstellt das Programm vermutlich nicht. Ich würde mal darauf tippen, dass die Definition der main-Funktion falsch ist. Die sieht normalerweise nämlich so aus: int main(int argc, char *argv[]). Du musst mindestens einen Rückgabewert angeben (und dann natürlich auch das return nicht vergessen).

Also Minimum wäre:

```
int main()
{
    return 0;
}
```

Standard ist:

```
int main(int argc, char *argv[])
{
    return 0;
}
```

Würde mich jetzt mal interessieren, ob das nun nicht auch in Dev-C++ funktioniert. Wo hast du denn dieses main() ohne alles her?


----------



## kuki122 (19. Mai 2011)

main () findet man in jedem Buch - und funktioniert in Dev C++ und CodeBlocks problemlos.

Ändere ich meine Werte zu deinen kommt der Fehler weiterhin - bringt also nichts.


----------



## bingo88 (19. Mai 2011)

Nenn mal bitte die Datei in cpp um. Ich habe ein neues Projekt angelegt (C++ Win32 Konsole + "Leeres Projekt", main.cpp hinzugefügt, deinen Code rein - mit vernünftiger main) und das Programm lief...

Du musst bei Visual Studio bei main() mindestens den Rückgabewert angeben. Ich weiß nicht warum sich main ohne alles so hartnäckig hält, aber es ist ziemlich blöd. Ich hatte hier im Forum mal ne längere Abhandlung darüber verfasst, mache es jetzt aber kurz: Die Laufzeitumgebung erwartet einen Rückgabewert also solltest du auch einen angeben.


----------



## kuki122 (19. Mai 2011)

Habe ich jetzt alles gemacht, und:


----------



## bingo88 (19. Mai 2011)

Hast du mal einen manuellen Build versucht und nachgesehn, ob die Datei vorhanden ist? Der Fehler ist echt kurios o0
Dein Build-Log ("Erstellen") sieht mir nämlich auch etwas leer aus...


----------



## kuki122 (19. Mai 2011)

Der Ordner "Debug" ist leider nicht vorhanden, sodass auch keine *.exe vorhanden sein kann


----------



## bingo88 (19. Mai 2011)

Ja, dann wird da auch nix kompiliert. Normalerweise müsste nämlich auch in dem Fenster ganz unten was erscheinen (-> Build-Log). Kannst du mal bitte manuell versuchen das Projekt zu erstellen?


----------



## kuki122 (19. Mai 2011)

Wie meinst du "manuell erstellen"?


----------



## bingo88 (19. Mai 2011)

Puh, es gibt in einem Menü nen Eintrag "Projekt (neu) erstellen" oder so. Habe leider die englische Version, da ist das ein wenig anders. Könnte unter "Projekt" sein...


----------



## Fragile Heart (20. Mai 2011)

Normalerweise findest du das "neu erstellen" im Menu unter "Erstellen" und dann "Projektmape neuerstellen", aber nach deinen Screen scheint es diese Punkte bei dir nicht zugeben?!?


----------



## kuki122 (20. Mai 2011)

Es handelt sich bei meiner Version um die "Express Version" - Von dieser ist auch hier die Rede, oder?


----------



## bingo88 (20. Mai 2011)

Ja, die muss das trotzdem haben. Arbeite auf der Arbeit mit VC++ 2010 Express und da geht das ja auch. Von daher bin ich jetzt schon sehr erstaunt


----------

