Error de compilacion con GCC, libreria iostream

Iniciado por eternoneofito, 21 Agosto 2011, 08:56 AM

0 Miembros y 1 Visitante están viendo este tema.

eternoneofito

Hola a todos los que leen, recien empiezo a programar en c++ desde linux, y resulta que no se muy bien como se usa el compilador. Me baje el gcc y un ide Kdevelop, pero por el momento preferiria usar el gcc desde la consola.

Hice un programita muy sencillo para probar, y no me compila, sino que me tira un error como el siguiente:

progc.c:1:20: error fatal: iostream: No existe el fichero o el directorio
compilación terminada.

No se si deberia bajar la libreria de algun lado y copiarla a /usr/include o en algun otro directorio. Les agradeceria si me pudieran explicar. Y mas aun, si tambien me pueden explicar como es el tema de la compilacion con gcc, para generar los ejecutables y demas detalles basicos.

Muchas gracias.

leogtz

gcc es para código en C, no de C++, para C++ compila con g++.

g++ code.cpp -o code

Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

тαптяα

Leo mejor, para Linux, bajate CodeBlocks y listo, lo usas de la IDE

ok?

leogtz

Cita de: тαптяαпсє en 21 Agosto 2011, 20:52 PM
Leo mejor, para Linux, bajate CodeBlocks y listo, lo usas de la IDE

ok?

Depende de cómo te guste trabajar..., hay quienes programan con un editor de texto normal (gedit, geany, scite, notepad, notepad++, ultraedit, vim, nano, emacs, joe, etc) y compilan todo por terminal, y según un programador al que respeto mucho esto es lo indicado para conocer a fondo el compilador...

Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

тαптяα

Cita de: Leo Gutiérrez. en 21 Agosto 2011, 22:26 PM
Depende de cómo te guste trabajar..., hay quienes programan con un editor de texto normal (gedit, geany, scite, notepad, notepad++, ultraedit, vim, nano, emacs, joe, etc) y compilan todo por terminal, y según un programador al que respeto mucho esto es lo indicado para conocer a fondo el compilador...

Saludos.
Tiene sentido. Yo también empecé con el gedit y el g++ pero nose como le cuesta tanto instalarselo bien.

Al final a mi me dio flojera, , seguir compilando así, y acabé poniendome CodeBlocks en Kubuntu

eternoneofito

Gracias por responder, ahora ya tengo el g++, y al parecer reconoce la libreria iostream. Pero ahora me tira otros errores, intente de varias maneras pero sigue sin resultados, y bueno probe ahora con el tipico programa "hola mundo"... y me tira los mismos errores.

holamundo.cpp: En la función 'int main()':
holamundo.cpp:5:2: error: 'cout' no se declaró en este ámbito

main()
{
   cout << "Hola mundo";
   return 0;
}

тαптяα

Cita de: eternoneofito en 22 Agosto 2011, 16:24 PM
Gracias por responder, ahora ya tengo el g++, y al parecer reconoce la libreria iostream. Pero ahora me tira otros errores, intente de varias maneras pero sigue sin resultados, y bueno probe ahora con el tipico programa "hola mundo"... y me tira los mismos errores.

holamundo.cpp: En la función 'int main()':
holamundo.cpp:5:2: error: 'cout' no se declaró en este ámbito

main()
{
   cout << "Hola mundo";
   return 0;
}

Necesitas un buen tutorial de C++

Coloca esto antes de la función principal:

using namespace std;

cout realmente no es una función es std cout.

Reitero lo de un curso de C++.

Ferno

Mmm, yo recomendaría un buen libro antes que un simple tutorial ^^
En el topic de libros y papers hay muchos!

Alien-Z

#8
Buenas:

En primer lugar, antes de comenzar a escribir nada, debes llamar a las librerías que vayas a usar. En este caso para "cout" debes usar la libreria "iostream". Después añade el "namespace standar" para evitar que el compilador confunda herramientas propias de C++ con funciones u otros.

Además has puesto "main ()" y no "int main ()". Aqui te dejo el código completo:

Código (cpp) [Seleccionar]
#include <iostream> //libreria
using namespace std; //namespace standar

int main ()
{
   cout << "Hola mundo." << endl;
   
   cin.get();
   return 0;
}


Deberías seguir una guía para iniciarte en la programación ya que todo esto lo explican en cualquier libro básico; aqui hay una lista, descarga varios y usa el que comprendas mejor: http://foro.elhacker.net/programacion_cc/librospapers_cc-t296234.0.html

Aqui hay una serie de video-tutoriales muy buenos donde se exlica todo detalladamente desde 0: http://foro.elhacker.net/programacion_cc/video_tutorial_programacion_c-t249577.0.html

Saludos!.

eternoneofito

Ok gracias a todos, estoy estudiando de un libro, pero no se hace mencion de la linea "using namespace std;" por eso no me di cuenta no es que estoy aprendiendo de la nada jajaj. En cuanto a lo de int main(), segun el libro es el que toma por defecto cuando se escribe main(), y es una cuestion de gusto personal escribir "int main()" o "main()", pero al parecer este libro es cualquier cosa jaja, ustedes lo sabran mejor que yo.
Voy a ver que hago entonces, si tiro el libro a la basura o que, gracias por su ayuda.