Как скомпилировать исходный код C ++ (ошибка «iostream.h not found»)?

18

Я не хочу обсуждать о C ++ или любом языке программирования! Я просто хочу знать, что я делаю неправильно с linux ubuntu о компиляции helloworld.cpp!

Я изучаю C ++, поэтому мои шаги:

откройте hello.cpp в vim и напишите это

#include <iostream.h>
int main()
{
    cout << "Hello World!\n";'
    return 0;
}

Итак, после этого я пробовал в терминале этот

g++ hello.cpp

И вывод

hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.

Что вы предлагаете? Любое полезное пошаговое руководство для меня? Спасибо!

    
задан gabriel 03.05.2012 в 13:44
источник

2 ответа

40

Вы должны использовать #include <iostream> , а не iostream.h ; форма .h очень устарела и устарела с тех пор.

Вы можете прочитать больше, чем вы, вероятно, хотите узнать в форматах .h vs non .h здесь: Ссылка

(Кроме того, вы должны написать std::cout или иметь строку using namespace std; , иначе ваша следующая ошибка будет касаться компилятора, не найдя определения для cout .)

    
ответ дан Riccardo Murri 03.05.2012 в 13:53
источник
14

Вы должны изменить iostream.h на iostream . Я также получал ту же ошибку, что и вы, но когда я изменил iostream.h на iostream , он работал правильно. Возможно, это сработает и для вас.

Другими словами, измените строку, в которой говорится:

#include <iostream.h>

Сделать это вместо этого:

#include <iostream>

Файлы заголовков стандартной библиотеки C ++, как определено в стандарте, не имеют .h расширений.

Как упоминалось ответ Риккардо Мурри , вам также нужно будет называть cout своим полным именем std::cout , или иметь одну из этих двух строк (предпочтительно ниже ваших директив #include , но выше вашего другого кода):

using namespace std;
using std::cout;

Второй способ считается предпочтительным, особенно для серьезных программных проектов, поскольку он влияет только на std::cout , а не на то, чтобы вводить все имена в пространстве имен std (некоторые из них могут помешать именам, используемым в вашей программе ).     

ответ дан Dhruv kaushik 26.09.2012 в 15:28