07 octubre 2013

Compilar C++ en Linux con Geany

A raíz de la "Introducción a C++" que voy creando a ratos sueltos, he preparado unas instrucciones básicas sobre cómo compilar en C++ usando varios entornos gratuitos: Geany, CodeLite y Visual C++ Express.

Lo dejo aquí en tres entregas, por si a alguien le resulta útil...

Compilar fuentes sencillos en C++ usando Linux
El primer paso es encontrar un editor con el que puedas teclear tus programas. En el menú, dentro del apartado "Accesorios", es fácil que tengas un editor de textos, como GEdit:
cppLinux01.png
Aparecerá la pantalla del editor, todavía vacía:
cppLinux02.png
Podemos empezar a teclear nuestro programa. La sintaxis no se verá en colores todavía.
cppLinux03.png
En el momento en que guardemos los cambios, es fácil que el editor empiece a destacar la sintaxis en colores:
cppLinux04.png
Para compilar el programa y crear un ejecutable, podemos abrir un "Terminal", al que también deberíamos poder acceder desde el menú:
cppLinux05.png
La orden que usaremos para compilar es "g++". Deberemos indicar el nombre de nuestro fuente. Si queremos indicar un nombre para el ejecutable, deberemos usar la opción "-o"; si no es así, el ejecutable se llamaría "a.out".
cppLinux06.png
Si no recibimos ningún mensaje de error como respuesta, podremos lanzar el ejecutable, indicando su nombre precedido por "./":
cppLinux07.png
Geany es un editor más adecuado para programadores, que permitirá compilar nuestro programa y ejecutarlo desde el propio editor. Una vez lo hayas instalado mediante el gestor de software de tu sistema, debería aparecer en un menú llamado "Desarrollo" o "Programación":
cppLinux08.png
Al igual que ocurría con GEdit, veremos la pantalla de edición vacía cuando entremos:
cppLinux09.png
Y podremos comenzar a teclear nuestro fuente, que no se verá en colores todavía
cppLinux10.png
Pero en cuanto lo guardemos con un nombre terminado en ".cpp", la sintaxis quedará realzada con colores:
cppLinux11.png
Tenemos un botón que nos permite "compilar" nuestro fuente:
cppLinux12.png
Y en la parte inferior de la ventana de Geany se nos mostrarán los errores o el resultado correcto de la compilación
cppLinux13.png
Aun asi, este paso comprueba errores pero todavía no crea un ejecutable. Para obtenerlo, deberemos usar la opción de "construir:"
cppLinux14.png
Y nuevamente se nos mostrarán los errores o se nos avisará de que todo ha sido correcto:
cppLinux15.png
Si no había problemas, podremos ejecutar nuestro programa, para ver su resultado:
cppLinux16.png
Y dicho resultado se nos mostrará en una ventana nueva, y se pausará hasta que pulsemos Intro:
cppLinux17.png

5 comentarios:

Anónimo dijo...

Como lo harias para hacer un prograama modular en el que incluyes varios archivos fuentes, con sus cabeceras correspondientes?

A mi me salta este error:

g++ -Wall -o "exercicis" "exercicis.cpp" (en el directorio: /media/Datos/Dropbox/UAB/Enginyeria Informatica/1er Curs/Fonaments d informatica/Tema3/problemes_bucles)
/tmp/ccrTRlSV.o: En la función `menu()':
exercicis.cpp:(.text+0x106): referencia a `exercici9b()' sin definir
exercicis.cpp:(.text+0x10d): referencia a `exercici11b()' sin definir
exercicis.cpp:(.text+0x114): referencia a `exercici13()' sin definir
exercicis.cpp:(.text+0x11b): referencia a `exercici14()' sin definir
collect2: error: ld returned 1 exit status
Ha fallado la compilación.

Unknown dijo...

como compilas paso a paso en geany??

Anónimo dijo...

Buenas, te felicito por el aporte. Tengo un inconveniente, el programa me compila bien, el problema se genera cuando lo ejecuto. En la terminal me sale el siguiente error:

Hubo un error al crear el proceso hijo para este terminal
Falló al ejecutar el proceso hijo «/bin/sh ./geany_run_script.sh» (No existe el fichero o el directorio)

Espero que me puedas dar una solución, muchas gracias.

Anónimo dijo...

Mismo problema, al ejecutar la terminal me salta-.Falló al ejecutar el proceso hijo «/bin/sh ./geany_run_script.sh» (No existe el fichero o el directorio)
Alguien puede ayudar....

Turriano dijo...
Este comentario ha sido eliminado por un administrador del blog.