autotools

Carga de primer modulo File Realizada!

Hemos conseguido enlazar nuestro primer modulo, es de tipo File, y nos ha devuelto su primer "funcion no implementada"!. Esto nos ha llevado varias horas de modificaciones en configures.ac y makefiles.am, no esperabamos tanta complicación despues de tanto tutorial y pelea.

Ahora tras conseguir la comunicación con los modulos, pasamos a la fase 6, implementación de módulos graphics. Hasta ahora los modulos los hemos dejado hasta construir el controlador, que es la parte esencial de la arquitectura. Sabiendo que esto funciona y con nuestro creador de modulos, podemos crear modulos rapidamente peleandonos ya con los pequeños problemas de las librerias de alto nivel que vamos a usar.

En principio para esta fase vamos a utilizar intensivamente Irrlicht, irrlicht para la lectura del xml, irrlicht para la conversión a lenguaje intermedio y un modulo lenguaje inermedio-objeto irrlicht listo para ser usado en la aplicación de usuario.

Etapa 4.Portabilizando la librería para windows.(Fin)

Vamos a explicar como compilar y nuestro controlador y su modulo en un sistema operativo Windows de tal manera que habremos completado esta serie de tutoriales.
Esperamos que haya sido de su agrado y que por favor no dude en ponerse en contacto con nosotros si tiene alguna duda.
Puede descargarse los ficheros generados por este tutorial en Forja Tutorial4.tar.gz

Libtool Multiplataforma y Librerias dinamicas. El tutorial Perdido.

Dado que nuestro proyecto esta intimamente relacionado con el desarrollo multiplataforma y que consideramos que no existe suficiente información en castellano sobre libtool, automake y autoconf, vamos a realizar una serie de tutoriales que finalmente terminarán recopilados en el wiki en forma de macrotutorial de libtool, automake y autoconf.

Hasta pronto.

Actualización: Se han terminado la serie de tutoriales, os dejamos los enlaces a continuación.

Enlaces:

Etapa 3. Carga de librerías dinámicas en tiempo de ejecución. (Solo linux)

Vamos a explicar como se realizan cargas de librerías dinámicas con libtool y la librería ltdl, en este tutorial nos vamos a saltar el paso de cargar con dlopen y dlclose los módulos, pues consideramos que es demasiado mono-sistema y que no aporta demasiado al tutorial ya que con la librería ltdl abstraemos todas esas funciones. Si está interesado en dlopen sin la librería ltdl puede encontrar información en [3] c++ dlopen mini howto.

Se puede descargar el resultado de este tutorial en forja tutorial3.tar.gz(actualizado)

Aplicación para libovclizar nuestro modulo

En breve subiremos varios cambios al SVN que son interesantes.

Hemos creado un script que crea un fichero acinclude.m4 para habilitar dos macros, segun el fichero configure.ac y si está instalada la libreria libovc y mirará si debe de cargar los ficheros de cabecera de un directorio o de la carpeta de cabeceras del sistema. Asi como habilitará la ruta donde esta libovc para permitir la carga en una aplicación de usuario.

Por otro lado la estructura de ficheros y directorios se verá modificada para introducir la carpeta bin y la carpeta lib, asi como para limpiar y asegurarnos que la compilación se puede realizar correctamente.

Estructura de directorios y dos ejemplos en el SVN

Se ha realizado la primera subida al repositorio SVN la estructura de directorios del programa principal y de 2 ejemplos, de esta manera ya se puede comenzar a desarrollar sin tener que estar preocupado como serán las rutas de los directorios.

Estamos buscando una manera de integrarlo todo para satisfacer las interdependencias.

Etapa 2. Inclusión de libtool y carga de librería estática.

En esta etapa vamos a modificar nuestro proyecto para que con libtool haga una carga de una librería de manera estática, finalmente esto nos servirá de ejemplo de como se utiliza libtool y además nos aportará un entorno de desarrollo con libtool preparado para el paso a la carga de librerías dinámicas.

Se puede descargar el ejemplo de la siguiente dirección: forja tutorial2.tar.gz

Etapa 1. Creación de un proyecto con autotools.

Primero vamos a crear un pequeño proyecto que compile con autotools y que sea capaz de mostrar un pequeño mensaje por pantalla y cargar el fichero config.h de manera directa.

Se puede descargar el ejemplo de la siguiente dirección: forja tutorial1.tar.gz

Distribuir contenido