tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
571
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von JuSchu85
    JuSchu85 JuSchu85 ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    21
    Ich hab schon mal die Suche bemüht und auch viele Threads mit Problemen bei dieser Bibliothek gefunden, aber nichts hat wirklich geholfen.

    Auf jeden Fall arbeite ich mich gerade wieder in c++ ein und da ich vorher auch nicht soo viel gemacht hab, fange ich wieder mit dem "hallo welt" programm an.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    #include <iostream>
    using namespace std;
     
    int main()
    {
       cout << "Hallo Welt!" << endl;
       return 0;
    }
    Da komme ich jetzt noch nicht mal über das Kompilieren hinaus. Ich kriege immer die Meldung:
    1>.\hallo welt.cpp(3) : warning C4627: "#include <iostream>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.

    Weiter unten stand auch noch:
    1>.\hallo welt.cpp(12) : 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?

    Dann habe ich natürlich diese "stdafx.h" auch includiert (zugegeben ohne wirklich zu wissen, was es eigentlich ist).
    Darauf hin sind aber folgende Fehlermeldungen hinzugekommen:
    1>.\hallo welt.cpp(5) : error C2871: 'std': Es ist kein Namespace mit diesem Namen vorhanden
    1>.\hallo welt.cpp(9) : error C2065: 'cout': nichtdeklarierter Bezeichner
    1>.\hallo welt.cpp(9) : error C2065: 'endl': nichtdeklarierter Bezeichner

    Wenn <iostream> von Anfang an nicht eingebunden wurde hätten die Fehlermeldungen über den nichtdeklarierten Bezeichner doch auch vorher kommen müssen, oder nicht?

    Was mache ich denn da falsch?
    Als ich das Buch, was ich gerade wieder angefangen habe, das erste mal durchgearbeitet hab, hatte ich nie dieses Problem.
    Ich denke mal, dass es daran liegt, dass sich mittlerweihle was in VisualStudio geändert hat.
    Damals hab ich nämlich ne Studentenversion von VS6 benutzt. Jetzt benutze ich VS-Express2008.
    Aber es kann doch wohl nicht daran liegen, dass es ne Expressversion ist.



    Und mal was offtopic: Währe es sinnvoll sowieso mit meiner alten Studentenversion weiterzuarbeiten, oder währe es sinnvoller das aktuelle VS (wenn auch Expressversion) zu benutzen.

    Ich wollte auch mal gucken, was mich das Update kosten würde. Aber was würde überhaupt dafür sprechen.
     

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    an welcher Stelle hast du denn #include "stdafx.h" eingefügt? Es ist ganz wichtig , dass diese Zeile immer an erster Stelle im Code steht.
    Ansonsten könntest du auch bei den Eigenschaften der cpp-Datei die Verwendung vorkompilierter Header deaktivieren. Dann kannst du dir das Include ersparen.

    Mit der Express-Version hast du zumindest einen aktuellen Compiler, da der vom VS6 schon etwas antik und nicht ganz fehlerfrei ist.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    Avatar von JuSchu85
    JuSchu85 JuSchu85 ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    21
    Danke für die schnelle Hilfe
    Beide Tips haben funktioniert.

    Aber wofür ist dieses "stdafx.h" eigentlich gut?
    std -> Standard?
    afx ->
     

  4. #4
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Zitat Zitat von JuSchu85 Beitrag anzeigen
    Aber wofür ist dieses "stdafx.h" eigentlich gut?
    Das ist das Thema mit den vorkompilierten Headern und in der Form eine Spezialität des Microsoft-Compilers. In die "stdafx.h" schreibt man alle Header rein, die relativ unveränderlich sind. Diese werden einmal kompiliert und können dann bei weiteren Compilerläufen ohne erneute Kompilierung verwendet werden. Bei großen Projekten kann man da erheblich Zeit bei der Erstellung des Projektes sparen.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

Ähnliche Themen

  1. err include iostream.h
    Von Security im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 29.03.08, 23:48
  2. struct & iostream in binary
    Von spammich im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 10.11.07, 16:25
  3. kleine exe bei Dev-C und cin/cout/iostream
    Von Dr_Bakterium im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 31.10.07, 16:03
  4. [VC++ 6] <afxwin.h> UND <iostream>
    Von ManicMarble im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 18.04.05, 11:41
  5. Problem mit <iostream.h>
    Von bluemu im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 22.06.04, 19:49