librerias-habituales-desarrollo-linux

Librerías habituales de desarrollo en Linux

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.