08 octubre 2013

Compilar C++ en Windows usando CodeLite

Hay varios entornos gratuitos que nos permiten programar en C y C++ bajo Windows de una manera razonablemente sencilla. El más extendido es Dev-C++, pero es antiguo y puede no soportar características recientes del lenguaje. El mismo problema ocurrirá con las versiones más extendidas de CodeBlocks. Por eso vamos a ver una alternativa más reciente y que se actualiza con frecuencia: CodeLite.
CodeLite es un entorno que está disponible para Windows, Linux y Mac. Se basa en el propio GCC (y G++) que se usa para compilar en Linux, al que añade un editor que hace más amigable su uso. Veremos cómo descargarlo y usarlo en Windows. No incluiré las instrucciones para Mac, porque no uso Mac, ni tampoco para Linux, porque Geany es más que suficiente para crear y probar fuentes básicos en ese sistema.

El primer paso será descargar el entorno desde su página oficial (codelite.org). En el momento de escribir este texto, la última versión es la 5.2.

codelite52_instal_01.png

Se nos propondrá donar alguna cantidad, pero no es necesario (en la parte inferior aparece un "No, thanks):

codelite52_instal_02.png

Aparecen varias categorías de descargas, según el sistema operativo. El primer bloque es el de Windows, que descarará tanto el entorno de edición como el compilador.

codelite52_instal_03.png

Se nos llevará a la página de descargas, en Sourceforge, y en un instante debería estar listo para instalar.

codelite52_instal_04.png

La instalación será poco más que pulsar "Siguiente" varias veces, aceptando las opciones que se nos proponen o cambiando las que nos apetezca (por ejemplo, si no queremos que se instale en el disco C sino en alguna otra unidad de disco). Al cabo de un instante, aparecerá el icono en nuestro escritorio.

codelite52_instal_06.png

Y al hacer doble clic veremos la pantalla principal del editor:

codelite52_uso_01.png

Para comenzar, deberemos crear un nuevo proyecto. Lo podemos hacer desde la propia pantalla de bienvenida, un poco más abajo

codelite52_uso_02.png

En el menú "Workspace" tendremos también la opción "New Project", que es equivalente:

codelite52_uso_02b.png

Se nos mostrarán los diversos tipos de proyectos que podemos crear

codelite52_uso_03.png

Y entre ellos, en el bloque "Console" (consola), escogeremos "Simple executable (g++)", para crear ejecutables sencillos de consola en C++ (usando el compilador "g++"):

codelite52_uso_04.png

Sólo faltará indicar el nombre de nuestro proyecto y la carpeta en la que queremos guardarlo:

codelite52_uso_05.png

Se creará el esqueleto del proyecto, pero es posible que aun así, la pantalla de nuestro editor parezca vacía:

codelite52_uso_06.png

Si es el caso, deberíamos desplegar el panel izquierdo ("Workspace") hasta ver nuestro programa principal ("main.cpp").

codelite52_uso_07.png

Al hacer doble clic sobre él, su contenido se mostrará en la ventana de edición:

codelite52_uso_08.png

Ese contenido corresponde a un programa en C. Si queremos trabajar en C++, deberemos cambiarlo por nuestro propio esqueleto:

codelite52_uso_09.png

Para compilar el proyecto y ver si tiene errores, entraremos al menú "Build" y escogeremos la opción "Build project":

codelite52_uso_10.png

O usaremos el botón correspondiente de la barra de herramientas:

codelite52_uso_11.png

Y en el panel inferior se nos mostrará la lista de errores, si es que hay alguno:

codelite52_uso_12.png

Si todo ha ido bien, podemos lanzar la ejecución:

codelite52_uso_13.png

Y quizá se nos recuerde que debemos compilar antes de ejecutar (habría sido fácil para los desarrolladores del editor saber que acabamos de compilar y no hacernos esa pregunta, pero es un detalle incómodo e innecesario que tiene la versión 5.2 de CodeLite y que quizá se mejore en alguna versión posterior):

codelite52_uso_14.png

El problema es que la ventana de ejecución se abrirá y se cerrará tan rápido que no dará tiempo a ver si lo que nuestro programa muestra en pantalla es lo correcto o no. Se puede "solucionar" (de forma poco elegante) añadiendo "cin.ignore()" al final de nuestro programa, justo antes de "return":

codelite52_uso_16.png

Y esta vez ya sí podremos comprobar si nuestro programa ha funcionado correctamente:

codelite52_uso_17.png