next up previous
Next: Construcción de un programa Up: guion1 Previous: Algunos comandos relacionados con

Compilación programas X

En el directorio /fenix/depar/ccia/ntp/Xlib/XlibEjemplos y en la página web http://decsai.ugr.es/~acu/NTP/otros.html existen algunos programas construidos con Xlib. Copia por ejemplo el fichero basicwin.c, que se encuentra en el subdirectorio basic, a un directorio de tu cuenta. Copia también el fichero icon_bitmap que se encuentra en el subdirectorio bitmaps. Este fichero es el icono del programa. Antes de compilar el programa, tenemos que modificar modificar el fichero basicwin.c. Editalo con algún editor de texto y cambia la línea
#include "../bitmaps/icon_bitmap"

por la línea

#include "icon_bitmap"

Cuando nuestro programa lo compone sólo un fichero fuente, podemos obtener el ejecutable en un solo paso o bien en dos pasos.

En ambos casos, el programa ejecutable queda almacenado en el fichero basicwin

Cuando nuestro programa está formado por más de un fichero fuente entonces es conveniente obtener el ejecutable compilando uno a uno los ficheros fuente, y luego linkando todos los ficheros objeto con la librería Xlib.

Para compilar un programa resulta más cómodo construir un fichero makefile. Por ejemplo el programa anterior podría compilarse con el siguiente fichero makefile:

basicwin: basicwin.o
        gcc basicwin.o -o basicwin -lX11 -L/usr/X11R6/lib
basicwin.o: basicwin.c
        gcc -c basicwin.c -o basicwin.o  -I/usr/X11R6/include

Una vez construido el fichero makefile el ejecutable se obtiene ejecutando simplemente el comando make.

En la página web de prácticas de la asignatura Metodología de la Programación II puedes encontrar una documentación más completa sobre la compilación de programas C y C++, así como de la construcción de ficheros makefile en el enlace Introducción a la compilación de programas en C++:

http://decsai.ugr.es/mp2/practicas.html


next up previous
Next: Construcción de un programa Up: guion1 Previous: Algunos comandos relacionados con
Andrés Cano Utrera 2010-10-19