Hi,
ich hab mal ein Anfangsprogramm, geschrieben:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
|
#include <iostream>
using namespace std;
int main(void)
{
cout << "Halo Welt!\n";
cin.get();
return 0;
}
|
Wenn ich die jetzt mit Dev C++ Kompiliere, kommt, wie schon geahnt, "Hallo Welt raus, und er wartet, bis ich Enter drücke. Bei Visual C++ 2008 kommt allerdings eine Fehlermeldung:
1>------ Erstellen gestartet: Projekt: hallo, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>hallo.cpp
1>c:\programme\visual studio 2008\projects\hallo\hallo\hallo.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>c:\programme\visual studio 2008\projects\hallo\hhallo\hallo.cpp(11) : 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?
1>Das Buildprotokoll wurde unter "file://c:\Programme\Visual Studio 2008\Projects\hallo\hallo\Debug\BuildLog.htm" gespeichert.
1>hallo - 1 Fehler, 1 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Ganz klar: Ich hab "
#include "stdafx.h" vergessen. Aber wozu brauch ich das? ich kanns doch mit dem anderen Kompiler auch ohne der Header-Datei kompilieren :roll:
Wo liegt das Problem?
MfG
PS: Die Header-Datei sieht so aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// stdafx.h : Includedatei für Standardsystem-Includedateien
// oder häufig verwendete projektspezifische Includedateien,
// die nur in unregelmäßigen Abständen geändert werden.
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
// TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen.
|
und die Datei "targetver.h" lautet wie folgt:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#pragma once
// Die folgenden Makros definieren die mindestens erforderliche Plattform. Die mindestens erforderliche Plattform
// ist die früheste Windows-, Internet Explorer-Version usw., die über die erforderlichen Features zur Ausführung
// Ihrer Anwendung verfügt. Die Makros aktivieren alle Funktionen, die auf den Plattformversionen bis
// einschließlich der angegebenen Version verfügbar sind.
// Ändern Sie folgende Definitionen für Plattformen, die älter als die unten angegebenen sind.
// Unter MSDN finden Sie die neuesten Informationen über die entsprechenden Werte für die unterschiedlichen Plattformen.
#ifndef _WIN32_WINNT // Gibt an, dass Windows Vista die mindestens erforderliche Plattform ist.
#define _WIN32_WINNT 0x0600 // Ändern Sie den entsprechenden Wert, um auf andere Versionen von Windows abzuzielen.
#endif
|