Programación científica (VI): Instalación de Matplot++ y mp-units con Mingw-w64

Artículos de la serie:

Las bibliotecas Matplot++ para la visualización gráfica de datos [1] y mp-units para la manipulación y el análisis dimensional de unidades en tiempo de compilación [2] constituyen dos herramientas de enorme valor para la computación científica en C++.

Supongamos instalado un entorno de trabajo en MS Windows basado en MSYS2, CMake y el compilador Mingw-w64, tal y como se explica en una serie de post anterior. Dada la ausencia, a día de publicación de este post, de las mencionadas bibliotecas en el repositorio de paquetes de MSYS2 [3], analizaremos el procedimiento a seguir para su instalación.


[1] Matplot++


Acudiremos al shell MSYS2 MSYS desde Inicio de Windows e instalaremos el generador de gráficos gnuplot [4] mediante el comando:

pacman -S mingw-w64-x86_64-gnuplot

A continuación, abriremos el shell MSYS2 MinGW 64-bits en modo administrador y ejecutaremos, por orden, los comandos siguientes:

  1. git clone https://github.com/alandefreitas/matplotplusplus.git
  2. cd matplotplusplus/
  3. ${MINGW_PREFIX}/bin/cmake -G"MinGW Makefiles" -H. -Bbuild -DBUILD_EXAMPLES=OFF
  4. cmake --build build --target install
La biblioteca será instalada en los Archivos de programa (x86) del sistema. Si al emplearla comprobásemos que las representaciones gráficas sufren bloqueo, no permitiendo la interacción del usuario con ellas (véase el hilo de discusión [5] para más detalles), el problema podrá ser solventado de la forma siguiente:
  1. Desinstalar gnuplot desde el shell MSYS2 MSYS con el comando: pacman -R mingw-w64-x86_64-gnuplot
  2. Descargar e instalar la versión 5.2.8 de gnuplot desde su repositorio oficial en SourceForge (ejecutable gp528-win64-mingw.exe disponible en [6]). Es importante que, durante la instalación del programa, permitamos su inclusión en el PATH del sistema.

[2] mp-units

Como en el caso anterior, abriremos el shell MSYS2 MinGW 64-bits en modo administrador desde Inicio de Windows, con el fin de ejecutar, por orden, los comandos siguientes:

  1. git clone https://github.com/gsl-lite/gsl-lite.git
  2. cd gsl-lite/
  3. ${MINGW_PREFIX}/bin/cmake -G"MinGW Makefiles" -H. -Bbuild
  4. cmake --build build --target install
  5. cd
  6. git clone https://github.com/mpusz/units.git
  7. cd units
  8. cd src
  9. ${MINGW_PREFIX}/bin/cmake -G"MinGW Makefiles" -H. -Bbuild -Dgsl-lite_DIR="C:\Program Files (x86)\gsl_lite\lib\cmake\gsl-lite"
  10. cmake --build build --target install
El procedimiento anterior instalará las bibliotecas gsl-lite [7] y mp-units en los Archivos de programa (x86) del sistema. La primera biblioteca constituye una dependencia de la segunda, lo que explica el orden seguido de instalación.


La inclusión de las bibliotecas Matplot++ y mp-units en un fichero CMakeLists.txt adoptará, típicamente, la forma:

   set(gsl-lite_DIR "C:/Program Files (x86)/gsl_lite/lib/cmake/gsl-lite")    find_package(Matplot++ 1.1.0 REQUIRED)    find_package(mp-units 0.8.0 REQUIRED)    # otras bibliotecas...    target_link_libraries(${PROJECT_NAME} PRIVATE       Matplot++::matplot       mp-units::mp-units       # otras bibliotecas...    )


Referencias bibliográficas
  1. Matplot++ - https://alandefreitas.github.io/matplotplusplus/
  2. mp-units - https://mpusz.github.io/units/
  3. MSYS2 Packages - https://packages.msys2.org/package/
  4. gnuplot - http://www.gnuplot.info/
  5. Matplot++ - Issue #123 - https://github.com/alandefreitas/matplotplusplus/issues/123
  6. gnuplot 5.2.8 - https://sourceforge.net/projects/gnuplot/files/gnuplot/5.2.8/
  7. gsl-lite - https://github.com/gsl-lite/gsl-lite

No hay comentarios:

Publicar un comentario