%3F.png)
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::cout
ou 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.h
para iostream
. Eu também estava recebendo o mesmo erro que você está recebendo, mas quando mudei iostream.h
para 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 .h
extensões.
Como mencionadoA resposta de Ricardo Murri, você também precisará chamar cout
pelo nome totalmente qualificado std::cout
ou ter uma destas duas linhas (de preferência abaixo de suas #include
diretivas, 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 std
namespace (alguns dos quais podem potencialmente interferir nos nomes usados no seu programa).