Título: Error de compilacion con GCC, libreria iostream Publicado por: eternoneofito en 21 Agosto 2011, 08:56 am 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. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: leogtz en 21 Agosto 2011, 10:06 am gcc es para código en C, no de C++, para C++ compila con g++.
g++ code.cpp -o code Saludos. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: тαптяα en 21 Agosto 2011, 20:52 pm Leo mejor, para Linux, bajate CodeBlocks y listo, lo usas de la IDE
ok? Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: leogtz en 21 Agosto 2011, 22:26 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. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: тαптяα en 21 Agosto 2011, 22:31 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... Tiene sentido. Yo también empecé con el gedit y el g++ pero nose como le cuesta tanto instalarselo bien.Saludos. Al final a mi me dio flojera, , seguir compilando así, y acabé poniendome CodeBlocks en Kubuntu Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: 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; } Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: тαптяα en 22 Agosto 2011, 16:34 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: Código: using namespace std; cout realmente no es una función es std cout. Reitero lo de un curso de C++. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: Ferno en 22 Agosto 2011, 16:39 pm Mmm, yo recomendaría un buen libro antes que un simple tutorial ^^
En el topic de libros y papers hay muchos! Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: Alien-Z en 22 Agosto 2011, 16:41 pm 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
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!. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: eternoneofito en 22 Agosto 2011, 18:19 pm 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. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: Alien-Z en 22 Agosto 2011, 18:23 pm 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. Aunque esté permitido, es buena costumbre evitar los "diminutivos" o las acortaciones, esto evita muchos errores a la hora de programar y fallos cuando se compila. Acerca del libro, seguro que podrás aprender mucho de él, pero deberías tener a mano 2 o 3 más como referencia (online, no es necesario que los compres) para poder apoyarte y consultar dudas o corroborar explicaciones. Hay varios muy buenos en el primer link que te he dejado. Saludos. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: eternoneofito en 22 Agosto 2011, 18:50 pm Aunque esté permitido, es buena costumbre evitar los "diminutivos" o las acortaciones, esto evita muchos errores a la hora de programar y fallos cuando se compila. Acerca del libro, seguro que podrás aprender mucho de él, pero deberías tener a mano 2 o 3 más como referencia (online, no es necesario que los compres) para poder apoyarte y consultar dudas o corroborar explicaciones. Hay varios muy buenos en el primer link que te he dejado. Saludos. Ok, ahi mire los enlaces, me vienen muy bien. Voy a seguir las sugerencias, gracias. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: rir3760 en 22 Agosto 2011, 18:52 pm estoy estudiando de un libro, pero no se hace mencion de la linea "using namespace std;" Eso indicaría un libro muy viejo, por ejemplo los enfocados en productos de Borland no mencionan esa sentencia ya que los compiladores obsoletos de esa compañia no la soportan.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()" No. Solo en C estándar (ISO C90) se puede omitir el tipo y este se toma como "int". En el "nuevo" estándar de C (ISO-C99) y el de C++ no se puede ya que es un error.Cursos y/o libros aceptables para aprender C++ se listan en uno de los temas fijos. Otros dos libros muy buenos (pero en ingles) son: ---- Accelerated C++: Practical Programming by Example Andrew Koenig and Barbara E. Moo Addison-Wesley, 2000 ISBN 0-201-70353-X ---- C++ Primer, 4th Edition Stanley B. Lippman, Josée LaJoie, Barbara E. Moo Addison-Wesley Professional, 2005 ISBN-10: 0-201-72148-1 ISBN-13: 978-0-201-72148-5 ---- Un saludo Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: тαптяα en 22 Agosto 2011, 22:31 pm 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. int main() y main() es exactamente la misma función retornan un valor entero.Voy a ver que hago entonces, si tiro el libro a la basura o que, gracias por su ayuda. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: Queta en 22 Agosto 2011, 22:42 pm int main() y main() no es lo mismo, tal y como rir3760 dijo. Según el C99 (http://en.wikipedia.org/wiki/C99 (http://en.wikipedia.org/wiki/C99)):
Citar The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters: int main(void) { /* ... */ } or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared): int main(int argc, char *argv[]) { /* ... */ } or equivalent;9) or in some other implementation-defined manner. http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf (http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf) PD: aclaro que hablo de C. Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: тαптяα en 22 Agosto 2011, 22:47 pm Gracias por la aclaración. Ahora ya lo sé que en C++ no es lo mismo.
SAludos Título: Re: Error de compilacion con GCC, libreria iostream Publicado por: rir3760 en 23 Agosto 2011, 00:20 am En C++ es el mismo caso, una descripción en detalle se encuentra en la pagina Main function, C and C++ (http://en.wikipedia.org/wiki/Main_function#C_and_C.2B.2B) de Wikipedia.
Un saludo |