En esta ocasión requiero programar una aplicación que utiliza algunas operaciones matriciales y generación de números aleatorios. No deseo aventarme una librería completa programando esto, así que buscando diferentes opciones, halle la prometedora "GNU Scientific Library":
Además necesito utilizar un IDE para desarrollar la aplicación, por lo que de paso, describo como configurar el Code::Blocks para correr nuestras creaciones sobre Ubuntu 10.10.
Es necesario descargar la librería de synaptic, por lo que es necesario ir a Sistema>Administración>Gestor de paquetes Synaptic desde donde se instalan los paquetes: gsl-bin, gsl-doc-pdf, libgsl0-dbg, libgsl0-dev y libgsl0ldbl.Una vez instalada nuestra librería procedemos a instalar el entorno de desarrollo Code::Blocks, para esto vamos nuevamente a Sistema>Administración>Gestor de paquetes Synaptic e instalamos el paquete codeblocks.
Para configurar el entorno de desarrollo Code::Blocks y poder ejecutar nuestras aplicaciones con la libreria GSL, los pasos son:
- Añadir ruta de headers y librerías: Hallar la ruta de los Headers y de las librerias (*.a, *.lib, *.so, etc.) almacenadas en nuestro Sistema Operativo. Para mi caso en Ubuntu 10.10 la ruta es /usr/include y /usr/lib, respectivamente. Añadir estas rutas en las opciones Setting>Compiler_and_debugger>Search_Directory>Compiler y Setting>Compiler_and_debugger>Search_Directory>Linker, respectivamente.
- Especificar al linker las librerías que el programa utilizará: En la instalación realizada hasta el momento se provee una adecuada implementación de CBLAS. Para añadir esto basta agregar en la opción Proyect>Build_Options>linker_settings>link_libraries las librerias libgsl.a, libgslcblas.a y libm.a que se localizan en el directorio /usr/lib
Para instalar el paquete ATLAS acudimos a Sistema>Administración>Gestor de paquetes Synaptic donde se instalé los paquetes libatlas-base-dev, libatlas3gf-base, libatlas-dev y libatlas-doc.
Con este nuevo cambio el linker a las librerias que el programa utilizará ahora son: libgsl.a, libcblas.a, libatlas.so y libm.a .
En la página oficial del proyecto GSL puede encontrarse un completo manual de referencia. El código utilizado para probar el correcto funcionamiento de la librería y configuración de Code::Blocks es una modificación del primer ejemplo de este manual:
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
int main (void)
{
double x = 5.0;
printf("Hola mundo\n");
double y = gsl_sf_bessel_J0 (x);
printf ("J0(%g) = %.18e\n", x, y);
return 0;
}
Adjunto un vídeo que muestra los pasos para la configuración de Code::Blocks, así como una corrida del código ejemplo:
Saludos
faith4of9the5heart
No se entiende absolutamente nada. Y en tu video, ya esta hecha la configuración. Si podrías corregir esa parte sería de gran ayuda. Saludos.
ResponderEliminar