%3F.png)
¡No quiero hablar sobre C++ ni sobre ningún lenguaje de programación! ¡Solo quiero saber qué estoy haciendo mal con Linux Ubuntu al compilar helloworld.cpp!
Estoy aprendiendo C++ así que mis pasos son:
abre hello.cpp en vim y escribe esto
#include <iostream.h>
int main()
{
cout << "Hello World!\n";`
return 0;
}
Entonces, después de eso probé en la terminal esto
g++ hello.cpp
Y la salida es
hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.
¿Que sugieres? ¿Alguna guía paso a paso útil para mí? ¡Gracias!
Respuesta1
Deberías usar #include <iostream>
, no iostream.h
; el.hEl formulario es muy antiguo y está en desuso desde hace años.
Puedes leer más de lo que probablemente quieras saber en el.hvs no-.hformularios aquí: http://members.gamedev.net/sicrane/articles/iostream.html
(Además, debe escribir std::cout
o tener una línea using namespace std;
; de lo contrario, el próximo error será que el compilador no encuentre una definición para cout
).
Respuesta2
Deberías cambiar iostream.h
a iostream
. También recibí el mismo error que usted, pero cuando cambié iostream.h
a solo iostream
, funcionó correctamente. Quizás a ti también te funcione.
En otras palabras, cambia la línea que dice:
#include <iostream.h>
Haz que diga esto en su lugar:
#include <iostream>
Los archivos de encabezado de la biblioteca estándar de C++, tal como se definen en el estándar, no tienen .h
extensiones.
Como se mencionóLa respuesta de Ricardo Murri, también necesitarás llamar cout
por su nombre completo std::cout
, o tener una de estas dos líneas (preferiblemente debajo de tus #include
directivas pero encima de tu otro código):
using namespace std;
using std::cout;
La segunda forma se considera preferible, especialmente para proyectos de programación serios, ya que solo afecta a std::cout
, en lugar de incluir todos los nombres en el std
espacio de nombres (algunos de los cuales podrían interferir potencialmente con los nombres utilizados en su programa).