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

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

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

открыть hello.cpp в vim и написать это

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

Итак, после этого я попытался в терминале это [ 116]

g++ hello.cpp

И выход

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

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

20
задан 26 September 2012 в 23:49

2 ответа

Вам следует изменить 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 пространство имен (некоторые из которых могут потенциально мешать именам, используемым в вашей программе).

0
ответ дан 26 September 2012 в 23:49

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

Вы можете прочитать больше, чем вы, вероятно, хотели бы знать на .h против не- .h форм здесь: http://members.gamedev.net/ sicrane / article / iostream.html

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

0
ответ дан 26 September 2012 в 23:49

Другие вопросы по тегам:

Похожие вопросы: