Como compilar o código-fonte C++ (erro "iostream.h não encontrado")?

Como compilar o código-fonte C++ (erro "iostream.h não encontrado")?

Não quero discutir sobre C++ ou qualquer linguagem de programação! Só quero saber o que estou fazendo de errado com o Linux Ubuntu ao compilar helloworld.cpp!

Estou aprendendo C++, então meus passos são:

abra hello.cpp no ​​vim e escreva isto

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

Então, depois disso eu tentei no terminal isso

g++ hello.cpp

E a saída é

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

O que você sugere? Algum guia passo a passo útil para mim? Obrigado!

Responder1

Você deveria usar #include <iostream>, não iostream.h; o.ho formulário é muito antigo e obsoleto há anos.

Você pode ler mais do que provavelmente deseja saber no.hvs não-.hformulários aqui: http://members.gamedev.net/sicrane/articles/iostream.html

(Além disso, você deve escrever std::coutou ter uma linha, using namespace std;caso contrário, seu próximo erro será sobre o compilador não encontrar uma definição para cout.)

Responder2

Você deveria mudar iostream.hpara iostream. Eu também estava recebendo o mesmo erro que você está recebendo, mas quando mudei iostream.hpara just iostream, funcionou corretamente. Talvez funcione para você também.

Em outras palavras, altere a linha que diz:

#include <iostream.h>

Em vez disso, diga o seguinte:

#include <iostream>

Os arquivos de cabeçalho da biblioteca padrão C++, conforme definido no padrão, não possuem .hextensões.

Como mencionadoA resposta de Ricardo Murri, você também precisará chamar coutpelo nome totalmente qualificado std::coutou ter uma destas duas linhas (de preferência abaixo de suas #includediretivas, mas acima de seu outro código):

using namespace std;
using std::cout;

A segunda forma é considerada preferível, especialmente para projetos de programação sérios, uma vez que afeta apenas std::cout, em vez de trazer todos os nomes no stdnamespace (alguns dos quais podem potencialmente interferir nos nomes usados ​​no seu programa).

informação relacionada