Fehlermeldung bei Visual C++ 2008 Express Edition

Ich habe mir neulich diwv isual c++ 2008 express edition geholt und habe folgende Fehlermedlung auf die ich keine Antwort weiß. Denn bei anderen compilern sind diese nicht aufgetreten. Diese Fehlermeldung tritt komischerweise bei jedem Programm das ich compiliere auf. Hier erstmal das Programm:

----------------------------------------------------------------------------------------------------------

#include <iostream>
using namespace std;

int main()
{
for(int i=0;i<10;++i)
{
if(etwas_ist_passiert)
continue;

tu_was_wichtiges;
}

}

--------------------------------------------------------------------------------------------------------

Jetzt die Fehlermeldung:

1>------ Erstellen gestartet: Projekt: Schleifen, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Schleifen.cpp
1>.\Schleifen.cpp(1) : warning C4627: "#include <iostream>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "stdafx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
1>.\Schleifen.cpp(16) : fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "stdafx.h"" einzufügen?


Was soll #include "stdafx.h bedeuten.



mfg Unknow
 
vs will dass du alle includes in stdafx.h eibindest, und stdafx.h muss auch in der datei stehen in der dein eigentlicher code ist.
sprich ein projekt anlegen , da ist stdafx drin, deinen code in die cpp datei schreiben, sicherstellen, dass in dieser datei #include "stdafx.h steht. und in diese headerdatei eben #include <iostream> schreiben.
 
Du kannst aber auch ein leeres Projekt erstellen bzw. beim Win32 Assistenten leeres Projekt auswählen (statt vorkompilierter Header) und bestimmt auch noch anders das Projekt einrichten.

Habe VC++ gerade dass erste mal nach Installation ausprobiert und ich erkläre mir das so:

Bei den Projekten wird standardmässig (also kann mans auch ändern) eingestellt, dass du vorkompilierte Header verwenden willst, dass die #include Anweisungen für alle Header in stdafx.h stehen und das eben diese Dateien diejenigen sind die vorkompiliert werden (bei erster Erstellung).

Wenn du also einfach so #include <iostream> benutzt, gibts
- vom Compiler eine Warnung, dass die eben nicht vorkompiliert wird
- vom Linker den Fehler das die natürlich nicht vorkompiliert vorliegt.

Ein ähnlicher Fehler tritt übrigens auf, wenn du ein Standardprojekt erstellst und nur die "Hauptdatei" kompilierst, da nur beim Erstellen des Projekt die .pch (pre-compiled-header) Datei erstellt.

Im Allgemeinen ist die Verwendung von vorkompilierten Headern ganz nützlich, da die dann nicht bei jeder Änderung deines Programms wieder durchkompiliert werden müssen. Bei kleinen "Progrämmchen" (z.B. Beispiele aus nem Buch oder so) würde ich einfach ein leeres Projekt erstellen.

Kann man das so stehen lassen?
 
Zurück
Oben