webentwicklung-frage-antwort-db.com.de

visual Studio 2012 C++ Hallo Welt - Iostream funktioniert nicht

Ich habe ein Problem mit Visual Studio 2012. Ich verwende auch "Sams Teach Yourself C++ in einer Stunde pro Tag, 7. Ausgabe".

Nach der Verwendung von Google, um die "besten" Compiler für C++ zu finden, schien Visual Studios das Werkzeug der Wahl zu sein. 

Also habe ich Visual Studios 2012 heruntergeladen und installiert. Die allererste Lektion in diesem Buch ist (und fordert mich auf, es als Konsolen-App auszuführen, indem Sie auf Datei> Neu> Projekt> Visual C++> Win32> Konsolenanwendung ) gehen.

 #include <iostream>

int main()
{
 std::cout << “Hello World!” << std::endl;
 return 0;
}

was überhaupt nicht funktioniert. Es gibt eine Fehlermeldung ähnlich der folgenden aus:

1> c:\Benutzer\nik\Dokumente\Visual Studio 2012\projects\consoleapplication4\consoleapplication4\consoleapplication4.cpp (8): Fehler C2065: '' Hello ': nicht deklarierter Bezeichner 1> Code generieren ... ========== Build: 0 erfolgreich, 1 fehlgeschlagen, 0 aktuell, 0 übersprungen ========== "

(es gibt mehr Zeilen ähnlich zu den ersten, aber sie sind ziemlich lang)

Nach dem googeln und Ansehen eines Videos auf youtube funktioniert der folgende Code jedoch (mit Datei> Neu> Projekt> Visual C++> Allgemein> Leeres Projekt )

#include <iostream>
#include "conio.h"

using namespace std;

int main() {
cout << "Hello Nik" << endl;
_getch();

return 0;
}

Verfügt Visual Studio 2012 über einen C++ - Compiler? oder hat es nur einen Visual C++ - Compiler (wenn das sogar das Problem ist, denke ich nur daran, dass ich Vorlagen für Visual C++ sehen kann, aber keine für C++ von selbst ...) oder muss ich Visual Studio Express herunterladen natives C++ herunterladen?

Jede Hilfe wäre sehr dankbar, da ich hier etwas aus meiner Tiefe fühle ...

Vielen Dank.

9
Nik

Neben aphostrophes müssen Sie möglicherweise die Vorkompilerkopfzeilen in den Projekteigenschaften deaktivieren. 

Sie sind standardmäßig in VS2012 aktiviert. Wenn Sie mit vorkompilierten Headern nicht vertraut sind, schalten Sie sie aus.

  1. Rechtsklick auf Projekt (nicht Lösung)
  2. Klicken Sie auf Eigenschaften.
  3. Erweitern Sie "Konfigurationseigenschaften".
  4. Erweitern Sie "C/C++"
  5. Wählen Sie "Vorkompilierte Header"
  6. Setzen Sie "Vorkompilierter Header" auf "Nicht vorkompilierte Header verwenden".

Weitere Informationen zu vorkompilierten Headern und zur Datei stdafx.h bei Wikipedia

13
Kamil

Die verwendeten Apostrophe sind falsch:

“Hello World!” 

sollte sein

"Hello World!"

Beachten Sie auch, wie SO den Unterschied erkennt. Sie sollten mindestens den Code eingeben, den Sie im Buch sehen, anstatt ihn zu kopieren und einzufügen. ;-)

7
Alex R.

Probieren Sie einfach folgendes aus:

"Hallo Welt!" anstelle von "Hallo Welt!" .

4
Abhineet

Die Win32-Konsolenanwendung unterscheidet sich tatsächlich ziemlich vom leeren Projekt. Win32 verwendet eine Warteschlange für Nachrichten (Eingaben), die Sie in einer Schleife abfragen, und Ihr Programm verwendet die Win32-API und führt bestimmte Vorgänge aus.

Das leere Projekt ist etwas weniger von Win32 oder von etwas abhängig, das Windows in Bezug auf die API bietet, sofern Sie es nicht abhängig machen. Dies wäre die simples Hallo Welt App in Ihrem leeren Projekt:

#include <iostream>

using namespace std;

int main() 
{
    cout << "Hello World" << endl;

    return 0;
}
4

Der Unterschied zwischen 

“Hello World!” and 
"Hello Nik" is the apostrophe. 

Der Fehler bleibt bestehen, als nur den Linker für die visuelle C++ - Bibliothek zu überprüfen.

Conio.h ist auch definitiv nicht erforderlich 

Wenn Sie aus einem Buch kopieren, kopieren Sie es mindestens richtig. 

Using namespace std; 
would be pretty smart in this case. 
0
user2913837

Um den Fehler zu beheben, müssen Sie std :: of std :: cout und std :: endl löschen und mit dem Namespace std schreiben. unter #include iostream und und "" mit "" ändern.

#include <iostream>
using namespace std;
int main() 
{
   cout <<"Hello World" << endl;
   return 0;
}

In Visual Studio 2012

 file>new projet>visual c++ (Project win32)>application settings(application console+Not Using Precompiled)>in right box in you Project (right click, add>new element>file c++).
0
guest