¡No quiero discutir sobre C ++ o cualquier lenguaje de programación! ¡Solo quiero saber qué estoy haciendo mal con Linux ubuntu sobre la compilación de helloworld.cpp!
Estoy aprendiendo C ++, así que mis pasos son:
abra hello.cpp en vim y escriba esto
#include <iostream.h>
int main()
{
cout << "Hello World!\n";`
return 0;
}
Entonces, después de eso intenté 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 útil paso a paso para mí? ¡Gracias!

g++en Ubuntu) no lo aceptesRespuestas:
Deberías usar
#include <iostream>, noiostream.h; la forma .h es muy antigua y obsoleta desde hace años.Puede leer más de lo que probablemente quiera saber en los formularios .h vs no .h aquí: http://members.gamedev.net/sicrane/articles/iostream.html
(Además, debe escribir
std::couto tener una línea; de lousing namespace std;contrario, su próximo error será sobre el compilador que no encuentra una definicióncout).fuente
iostream.hen mi sistema. En realidad, los archivos de encabezado de C ++ son instalados por libstdc ++ - dev , que es requerido por el paquete del compilador de C ++ g ++ , que a su vez es requerido por build-essential . Entonces, no, no necesita build-essential para compilar programas simples de C ++; Instalar elg++paquete es suficiente.coutal trabajo sin elstd::prefijo,using std::cout;es preferibleusing namespace std;. Incluso lasusingdeclaraciones múltiples (sinnamespace) son generalmente mejores, ya que no trae identificadores delstdespacio de nombres que no desea y puede entrar en conflicto con los nombres en su propio programa.Deberías cambiarte
iostream.haiostream. También recibí el mismo error que tú, pero cuando cambiéiostream.ha soloiostream, funcionó correctamente. Tal vez funcione para ti también.En otras palabras, cambie la línea que dice:
Haz que diga esto en su lugar:
Los archivos de encabezado de la biblioteca estándar de C ++, como se define en el estándar, no tienen
.hextensiones.Como se mencionó en la respuesta de Riccardo Murri , también deberá llamar
coutpor su nombre completostd::couto tener una de estas dos líneas (preferiblemente debajo de sus#includedirectivas pero sobre su otro código):La segunda forma se considera preferible, especialmente para proyectos de programación serios, ya que solo afecta
std::cout, en lugar de incluir todos los nombres en elstdespacio de nombres (algunos de los cuales podrían interferir potencialmente con los nombres utilizados en su programa).fuente