Librerias dinamicas y compartidas

Encaminados a la primera Release

Muy buenas,

Os escribo para informaros que pronto vamos a realizar la primera release a causa de el gran movimiento que está existiendo en el planet. Hemos decidido que igual para el martes que viene vamos a publicar los siguientes elementos:

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.

Haciendo compatible una aplicación con libovc

Para ello introducir libovc dentro de la aplicación, se recomienda un enlace soft.

Luego modificar configure.ac para que haga ac_libovc_convenience o ac_libovc_installable añadiendo

AC_LIBOVC_CONVENIENCE(rutaalibovc_o_vaciopara_libovc)
AC_SUBST(LIBOVC)
AC_SUBST(OVCINCL)

o

AC_LIBOVC_INSTALLABLE
AC_SUBST(LIBOVC)
AC_SUBST(OVCINCL)

Si se añade

AC_CONFIG_SUBDIRS(libovc)

antes de las lineas anteriores, el programa recompilará esa carpeta, cosa que interesa

ejecutar el libovclizador

libovc/bin/libovclize

o si está instalado

libovclize

Proyecto actualizado. Libreria Funciona Multiplataforma.

Acabo de actualizar el SVN con los ultimos cambios. He conseguido hacer que el programa se ejecute tanto en linux como en windows de manera automatica ejecutando compile.sh.

Hemos tenido bastantes problemas, por lo que voy a dejar aqui una nota para todos aquellos que quieran desarrollar con libtool. Por lo visto bajo windows no se puede añadir en la sección xxx_la_LIBADD nada estaticamente, ya que se marea, el truco, y esto ya lo he dicho en otro momento, está en añadir los fuentes directamente.

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)

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

Autobook, el libro para entender autoconf, automake, libtools y carga de librerias dinamicas

Buscando un libro que me solucionara alguna duda sobre libtool y su uso para desarrollo multiplataforma, he encontrado el siguiente libro: Autoconf, Automake y Libtool , podemos también pedir una copia en Amazon.(GNU Autoconf, Automake, and Libtool (Circle)), los autores del libro son Gary V. Vaughan,Ben Elliston, Tom Tromey y Ian Lance Taylor, a los que el equipo de OpenVirtualContainer.org damos las gracias.

11 de Diciembre de 2007

En la reunión de hoy se han tocado los siguientes puntos.
- Explicación del preanálisis realizado.
- Nombre de las librerías
- Entorno de desarrollo
- Automake & autoconf
- Tareas asignadas.

Distribuir contenido