Je ne veux pas discuter de C++ ni d'aucun langage de programmation, je veux juste savoir ce que je fais de mal avec Linux Ubuntu à propos de la compilation de helloworld.cpp!
J'apprends le C++ alors mes étapes sont les suivantes:
ouvrez hello.cpp dans vim et écrivez ceci
#include <iostream.h>
int main()
{
cout << "Hello World!\n";`
return 0;
}
Donc, après que j’ai essayé dans le terminal cette
g++ hello.cpp
ET la sortie est
hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.
Que suggérez-vous? Un guide utile étape par étape pour moi? Merci!
Vous devriez utiliser #include <iostream>
, pas iostream.h
; la forme . h est très ancienne et obsolète depuis des années.
Vous pouvez lire plus que vous ne voulez probablement savoir sur le . H vs non - . H forme ici: http://members.gamedev.net/sicrane/articles/iostream.html
(De plus, vous devriez écrire std::cout
ou avoir une ligne using namespace std;
sinon votre prochaine erreur concernera le compilateur qui n'a pas trouvé de définition pour cout
.)
Vous devriez changer iostream.h
en iostream
. J'obtenais également la même erreur que vous obtenez, mais lorsque j'ai changé iostream.h
en iostream
, cela a fonctionné correctement. Peut-être que cela fonctionnerait pour vous aussi.
En d'autres termes, changez la ligne qui dit:
#include <iostream.h>
Faites-le dire à la place:
#include <iostream>
Les fichiers d'en-tête de bibliothèque standard C++, tels que définis dans la norme, n'ont pas d'extension .h
.
Comme mentionné réponse de Riccardo Murri , vous devrez également appeler cout
par son nom qualifié complet std::cout
ou avoir l'une de ces deux lignes (de préférence en dessous de vos directives #include
mais au-dessus de votre autre code):
using namespace std;
using std::cout;
La deuxième méthode est jugée préférable, en particulier pour les projets de programmation sérieux, car elle n’affecte que std::cout
, plutôt que de faire entrer tous les noms dans l’espace de noms std
(dont certains pourraient potentiellement interférer avec les noms utilisés dans votre programme).