¿Cómo compilar el código fuente de C++ (error "iostream.h no encontrado")?

¿Cómo compilar el código fuente de C++ (error "iostream.h no encontrado")?

¡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::couto 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.ha iostream. También recibí el mismo error que usted, pero cuando cambié iostream.ha 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 .hextensiones.

Como se mencionóLa respuesta de Ricardo Murri, también necesitarás llamar coutpor su nombre completo std::cout, o tener una de estas dos líneas (preferiblemente debajo de tus #includedirectivas 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 stdespacio de nombres (algunos de los cuales podrían interferir potencialmente con los nombres utilizados en su programa).

información relacionada