librerias-habituales-desarrollo-linux

Librerías habituales de desarrollo en Linux

  • 3 min

Cada vez que cojo un sistema nuevo, recién instalado, le tengo que instalar un montón de dependencias de librerías de desarrollo para poder empezar a “trabajar bien”.

Personalmente, de una vez a otra no me acuerdo. Así que tengo mi lista de paquetes que necesito para desarrollar, y que uso frecuentemente. Así cuando cojo un sistema, instalo lo que necesito, y no me tengo que preocupar.

Ojo, que puede parecer una guarrería tenerlas todas así… y no os voy a engañar, lo es. Pero es que en algún momento las voy a necesitar, así que me las instalo y miau 🐱.

Por si os puede servir a alguno, os las comparto por si os resultan útiles, especialmente si estás trabajando en proyectos que involucran gráficos, interfaces o sonido.

sudo apt install build-essential cmake git
sudo apt install libsdl2-dev libbsd-dev
sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev libxrandr-dev libxi-dev libasound2-dev mesa-common-dev libgl1-mesa-dev
sudo apt-get install libdrm-dev libegl1-mesa-dev libgles2-mesa-dev libgbm-dev
sudo apt-get install libraspberrypi-dev raspberrypi-kernel-headers
sudo apt-get install --no-install-recommends raspberrypi-ui-mods lxterminal gvfs
sudo apt install qtbase5-dev qt5-qmake qtbase5-dev-tools qml qtdeclarative5-dev

Ahora desgloso lo que es cada una.

Explicación de cada librería

Herramientas de desarrollo básicas

sudo apt install build-essential cmake git
  • build-essential: Paquete que incluye herramientas esenciales para la compilación de software, como el compilador gcc.
  • cmake: Herramienta para la gestión de la construcción de proyectos.
  • git: Sistema de control de versiones.

Bibliotecas SDL y BSD

sudo apt install libsdl2-dev libbsd-dev
  • libsdl2-dev: Biblioteca para el desarrollo de aplicaciones multimedia (SDL 2).
  • libbsd-dev: Biblioteca con utilidades BSD.

Bibliotecas X11 y relacionados

sudo apt-get install libx11-dev libxcursor-dev libxinerama-dev libxrandr-dev libxi-dev libasound2-dev mesa-common-dev libgl1-mesa-dev
  • libx11-dev: Biblioteca principal del sistema X Window.
  • libxcursor-dev: Biblioteca para gestionar cursores en X11.
  • libxinerama-dev: Biblioteca para la extensión Xinerama (soporte para múltiples pantallas).
  • libxrandr-dev: Biblioteca para la extensión RandR (gestión dinámica de resoluciones y rotaciones).
  • libxi-dev: Biblioteca para la extensión X Input.
  • libasound2-dev: Biblioteca para el sistema de sonido ALSA.
  • mesa-common-dev y libgl1-mesa-dev: Bibliotecas de desarrollo para OpenGL con Mesa.

Bibliotecas relacionadas con gráficos y EGL

sudo apt-get install libdrm-dev libegl1-mesa-dev libgles2-mesa-dev libgbm-dev
  • libdrm-dev: Biblioteca para la gestión de recursos gráficos (Direct Rendering Manager).
  • libegl1-mesa-dev: Biblioteca para EGL (interfaz entre OpenGL y el sistema de ventanas).
  • libgles2-mesa-dev: Biblioteca para OpenGL ES 2.
  • libgbm-dev: Biblioteca para la gestión de buffers gráficos.

Paquetes específicos de Raspberry Pi

sudo apt-get install libraspberrypi-dev raspberrypi-kernel-headers
  • libraspberrypi-dev: Biblioteca de desarrollo para la Raspberry Pi.
  • raspberrypi-kernel-headers: Cabeceras del kernel para Raspberry Pi, necesarias para compilar módulos del kernel.

Componentes del entorno de escritorio para Raspberry Pi

sudo apt-get install --no-install-recommends raspberrypi-ui-mods lxterminal gvfs
  • raspberrypi-ui-mods: Modificaciones de la interfaz de usuario de Raspberry Pi.
  • lxterminal: Emulador de terminal ligero.
  • gvfs: Sistema de archivos virtual.

Bibliotecas y herramientas para Qt5

sudo apt install qtbase5-dev qt5-qmake qtbase5-dev-tools qml qtdeclarative5-dev
  • qtbase5-dev: Paquete de desarrollo base de Qt5.
  • qt5-qmake: Herramienta de construcción de Qt.
  • qtbase5-dev-tools: Herramientas adicionales para el desarrollo de Qt.
  • qml: QML (lenguaje de programación para la interfaz de usuario en Qt).
  • qtdeclarative5-dev: Paquete de desarrollo para los módulos declarativos de Qt5.