web-dev-qa-db-fra.com

visual studio 2012 c ++ hello world - iostream ne fonctionne pas

J'ai un problème avec Visual Studio 2012. J'utilise également "Sams Teach Yourself C++ en une heure par jour, septième édition".

Après avoir utilisé Google pour trouver les "meilleurs" compilateurs pour C++, Visual Studios semblait être l'outil de prédilection. 

J'ai donc téléchargé et installé Visual Studios 2012. La toute première leçon du livre est (et me dit de l'exécuter en tant qu'application console en allant dans Fichier> Nouveau> Projet> Visual C++> Win32> Application console )

 #include <iostream>

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

qui ne fonctionne pas du tout. il génère un message d'erreur semblable à celui-ci:

1> c:\utilisateurs\nik\documents\visual studio 2012\projects\consoleapplication4\consoleapplication4\consoleapplication4.cpp (8): erreur C2065: '' Bonjour ': identifiant non déclaré 1> Générer du code ... ========== Build: 0 a réussi, 1 a échoué, 0 à jour, 0 ignoré ========== "

(il y a plus de lignes similaires à la première, mais c'est plutôt long)

Cependant, après avoir googlé et regardé une vidéo sur youtube, le code suivant fonctionne (avec Fichier> Nouveau> Projet> Visual C++> Général> Projet vide )

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

using namespace std;

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

return 0;
}

Visual Studio 2012 a-t-il un compilateur C++? ou a-t-il simplement un compilateur visuel c ++ (si c'est le problème, la seule raison pour laquelle je pense que c'est peut-être est-ce que je peux voir les modèles pour Visual C++ mais aucun pour le c ++ seul ...) ou dois-je télécharger Visual Studio Express télécharger natif c ++ ??

Toute aide serait grandement appréciée car je me sens quelque peu hors de ma profondeur ici ...

Merci.

9
Nik

Outre les aphostrophes vous devrez peut-être désactiver les en-têtes de pré-compilateur dans les propriétés du projet. 

Ils sont activés par défaut dans VS2012. Si vous ne connaissez pas les en-têtes précompilés, désactivez-les.

  1. Clic droit sur le projet (pas la solution)
  2. Cliquez sur les propriétés.
  3. Développer "Propriétés de configuration"
  4. Développez "C/C++"
  5. Choisissez "En-têtes précompilés"
  6. Définissez "En-tête précompilé" sur "Ne pas utiliser les en-têtes précompilés".

Plus d'informations sur les en-têtes précompilés et le fichier stdafx.h sur Wikipedia

13
Kamil

Les apostrophes que vous avez utilisées sont fausses:

“Hello World!” 

devrait être

"Hello World!"

Remarquez même comment SO reconnaît la différence. Vous devriez au moins taper le code que vous voyez dans le livre au lieu de le copier-coller. ;-)

7
Alex R.

Juste essayer ceci ::

"Bonjour le monde!" au lieu de "Hello World!" .

4
Abhineet

L'application de la console Win32 est en réalité assez différente du projet vide. Win32 utilise une file d'attente de messages (entrée) que vous interrogez dans une boucle et que votre programme utilise respectivement l'API Win32 et effectue certaines opérations.

Le projet vide dépend un peu moins de Win32 ou de tout ce que Windows fournit d’API, à moins que vous ne le rendiez dépendant de celui-ci. Ce serait l'application simple Hello World dans votre projet vide:

#include <iostream>

using namespace std;

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

    return 0;
}
4
Konstantin Dinev

La différence entre 

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

De plus, l’erreur persiste, il suffit de vérifier l’éditeur de liens Visual C++ Library.

Il n'y a pas non plus besoin de conio.h 

Si vous allez copier un livre au moins, copiez-le correctement. 

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

Afin de corriger votre erreur, vous devez supprimer std :: of std :: cout et std :: endl, et écrire en utilisant namespace std; en dessous de #include iostream et changer "" avec "".

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

Dans le studio visuel 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