
Mi almanaque
Este calendario lo he escrito más de una vez. Primero en el lenguaje C con ayuda
de GTK (casi nada) hasta su versión 3, con
libxml2 como interfaz o
parser XML. Más tarde me pasé a C++ con libxml++
y wxWidgets en lugar de GTK, porque me pareció
más razonable escribir código orientado a objeto con un lenguaje orientado a objeto y no
con el invento GTK, que está muy bien, pero no termina de encajar en mi filosofía de
a cada cosa lo suyo
. Además, GTK ya me estaba cansando. Por último, sustituí
también a libxml++ por XercesC porque
libxml++ tenía (y sigue teniendo a la fecha) carencias importantes, como la de no poder
validar un documento XML contra un esquema XSD y tampoco implementa
SAX y DOM como está mandado
.
Estas necesidades surgieron como consecuencia de que el calendario estuviese integrado en
un proyecto mayor, de gestión administrativa y contable para PYMES, con su base de datos
en PostgreSQL y todo, proyecto que me temo se va a quedar sin terminar, aunque puede que
en otra ocasión suba aquí lo que tengo hecho.
La versión que voy a poner a tu disposición tiene las siguientes dependencias (las dependencias son cosas que necesitas tener instaladas para que el programa funcione), en sistemas basados en Linux. Los mandatos de instalación, en Debian, usan el sudo para padawans:
-
El compilador de C++ llamado g++ (MinGW
en Windows)
~$ sudo apt install g++ -
El programa make
(Windows users aquí)
~$ sudo apt install make -
La herramienta multiplataforma de automatización CMake
~$ sudo apt install cmake -
La biblioteca XcercesC, que es un parser
(El Parser) C++ para XML
~$ sudo apt install libxerces-c-dev -
La biblioteca wxWidgets, que es un entorno gráfico en C++
~$ sudo apt install libwxgtk3.2-dev
He grabado un video de algo más de siete minutos en el que juego un poco con el calendario, para que veas su funcionamiento.
A continuación voy a poner el enlace para la descarga del zip que contiene el paquete completo. La idea es compartir un programa de ejemplo, con el código fuente y todos sus archivos. Si acaso tuvieses interés en programar en C++ para Linux y estás buscando información al respecto, aquí tienes un pequeño programa que maneja wxWidgets y XercesC, con un tratamiento de fechas y algunas otras cosas que tal vez puedas hallar interesantes.
Una vez descargado el archivo en la carpeta elegida hay que descomprimirlo, ya sea
desde el entorno gráfico, con un clic derecho y eligiendo extraer
, o desde un
terminal o consola con la orden:
~$ tar -xf almanaque.tar.bz2
para lo cual tenemos que tener instalado el programa tar, obviamente, pero es casi seguro que lo tienes en tu linux; en Windows habría que usar 7zip. Aquí puedes ver más cosas sobre tar. Voy a poner otro video, hoy no tengo muchas ganas de teclear. Este video te puede servir de referencia para compilar e instalar en Linux cualquier programa construido con CMake. Dura poquito, lo mismo que el Para Elisa de Beethoven.
La carpeta build la he incluido en el paquete para ahorrar molestias, pero si no existe hay que crearla y puede tener cualquier otro nombre. Su objetivo es contener toda la morralla que genera la compilación, manteniendo limpio el árbol del proyecto.