Encuentre su biblioteca favorita para C++ en NuGet

Encuentre su biblioteca favorita para C++ en NuGet

Muchos de ustedes pueden saber que NuGet es el repositorio de biblioteca "ir a" para el desarrollo de .NET, pero ¿qué hay de usarlo para C++? La respuesta aquí puede sorprenderlo, ya que muchas de las principales bibliotecas de C++ de código abierto se encuentran en la galería de NuGet.

Para aquellos que no han usado NuGet antes, NuGet es el sistema de administración de paquetes para la plataforma de desarrollo de Microsoft. Agregar paquetes de biblioteca desde la galería de NuGet a su proyecto de Visual Studio es tan fácil como hacer clic en un botón de instalación. La galería comenzó con bibliotecas .NET y ahora estamos trabajando para incluir más bibliotecas C++ en su ecosistema.

Echemos un vistazo a lo que ya está disponible en la galería de NuGet para desarrolladores de C++.

Categoría

Nombre

Versión (NuGet/Latest)

Detalles

Propósito general

Impulsar

1,57/1,57

Paquete Boost completo con paquetes binarios de satélites. Para Visual C++ 2013/2012/2010

GUI

Asistente de wxWidgets

2.4.2/2.4.2

El paquete es una ayuda para configurar un proyecto C++ para usar wxWidgets.

WTL

9.0/9.0

Windows Template Library (WTL) es una biblioteca de C++ para desarrollar aplicaciones de Windows y componentes de interfaz de usuario

Gráficos

Ogro3D

1,83/1,90

Uno de los motores de renderizado de gráficos de código abierto más populares.

Juego de herramientas de DirectX

2015.1/2015.1

Es una colección de clases auxiliares para escribir código DirectX 11.x en C++.

Glutin gratis

2.8.1/2.8.1

El Free openGL Utility Toolkit está destinado a ser una alternativa gratuita a la biblioteca GLUT de Mark Kilgard.

resplandeció

1.9.0/1.12.0

GLEW proporciona mecanismos eficientes en tiempo de ejecución para determinar qué extensiones de OpenGL son compatibles con la plataforma de destino.

Glfw

3.0/3.4

GLFW es una biblioteca multiplataforma de código abierto para crear ventanas con contextos OpenGL y administrar entradas y eventos.

Científico

propio

3.2.3/3.2.4

Eigen es una biblioteca de plantillas de C++ para álgebra lineal:matrices, vectores, solucionadores numéricos y algoritmos relacionados.

OpenCV

2.4.9/2.4.10

OpenCV (Open Source Computer Vision) es una biblioteca de funciones de programación para visión artificial en tiempo real.

Multimedia

SDL

2.0.3/2.0.3

Simple DirectMedia Layer, una API genérica que brinda acceso de bajo nivel a audio, teclado, mouse y búfer de cuadros de visualización en múltiples plataformas.

SFML

2.2/2.2

SFML proporciona una interfaz simple para los diversos componentes de su PC, para facilitar el desarrollo de juegos y aplicaciones multimedia. Hay cinco paquetes para cinco módulos:sistema, ventana, gráficos, audio y red.

MCE

3.2171/3.2171

Chromium Embedded Framework (CEF) es un marco simple para integrar navegadores basados ​​en Chromium en otras aplicaciones.

Red

Abrir SSL

1.01/1.02

La implementación de los protocolos Secure Sockets Layer (SSL v2/v3) y Transport Layer Security (TLS), así como una biblioteca de criptografía de uso general y completa.

LibSSH2

1.4.3/1.4.3

Libssh2 es una biblioteca C del lado del cliente que implementa el protocolo SSH2.

Poco

1.4.6/1.4.7

Marcos y bibliotecas de clases C++ de código abierto potentes y modernas para crear aplicaciones basadas en red e Internet que se ejecutan en sistemas de escritorio, servidores, dispositivos móviles e integrados. 1.4.6 es una versión de mantenimiento. Se incluyen varios paquetes.

SDK de descanso de C++

2.4.0.1/2.4.0.1

Una biblioteca multiplataforma admite la comunicación cliente-servidor basada en la nube en código nativo utilizando un diseño de API C++ asincrónico moderno.

Cliente de Azure Storage para C++

0.5.0/0.5.0

Esta biblioteca de cliente permite trabajar con los servicios de almacenamiento de Microsoft Azure, que incluyen el servicio de blob para almacenar datos binarios y de texto, el servicio de tabla para almacenar datos no relacionales estructurados y el servicio de cola para almacenar mensajes a los que puede acceder un cliente.

Libcurl
(cURL)

7.30/7.40

Curl es una herramienta y libcurl es una biblioteca para transferir datos con sintaxis URL, compatible con DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP , SMTP, SMTPS, TELNET y TFTP. Con muchas funciones.

Base de datos

SQLite

3.8.4.2/3.8.7.2

SQLite es una biblioteca en proceso que implementa un motor de base de datos SQL transaccional, autónomo, sin servidor y sin configuración.

SOCI

3.2.0/3.2.2

SOCI proporciona a los programadores de C++ una forma de acceder a múltiples bases de datos SQL de la manera más natural e intuitiva.

Utilidad

ZLib

1.2.8/1.2.8

Una biblioteca de compresión enormemente elegante pero delicadamente discreta.

LibXML2

2.7.8/2.9.2

Libxml2 es el kit de herramientas y analizador XML C disponible para varios idiomas y plataformas.

TinyXML2

2.1/2.2

TinyXML-2 es un analizador XML C++ simple, pequeño y eficiente que se puede integrar fácilmente en otros programas.

JsonC++

0,6/0,6

Una biblioteca de C++ para interactuar con JSON.

Hilo

2.9.1/2.9.1

Una biblioteca para escribir aplicaciones de subprocesos múltiples con subprocesos POSIX. Este es un paquete Win32.

Códec

Librería Jpeg

9.0/9.0

Este paquete contiene software C para implementar la codificación, decodificación y transcodificación de imágenes JPEG.

ArchivoLib

1.5.10/1.6.16

libpng es la biblioteca de referencia PNG oficial.

¿Ves algo familiar y quieres probarlo? Anímate, pero recuerda, para que la mayoría de ellos funcionen, es posible que necesites Visual Studio 2013 (o versión express). No se sienta mal si su biblioteca favorita no está en la lista, ya que solo enumeramos una pequeña parte de los paquetes de C++. Se pueden encontrar más bibliotecas nativas en la galería, y por favor comenta después del blog si cree que falta alguna biblioteca C++ importante en la galería o algún paquete de la lista no funciona para usted.

NuGet para C++

Instalar un paquete de C++ desde NuGet no es tan diferente de .NET. Los paquetes se pueden instalar a través de la consola NuGet escribiendo "Install-Package [nombre del paquete]" si conoce el nombre del paquete o se pueden encontrar e instalar mediante la ventana "Administrar paquete NuGet" (Figura 2), que se puede abrir desde el menú contextual de su proyecto (Figura 1).

Figura 1

Figura 2

Todas las dependencias del proyecto, las rutas de inclusión y las rutas de lib se agregarán automáticamente a su vcxproj. En casos excepcionales, es posible que deba copiar archivos DLL manualmente en su carpeta binaria para ejecutar su programa para algunos paquetes.

En particular, NuGet para C++ todavía tiene algunas limitaciones. Es posible que encuentre dificultades para distinguir los paquetes C++ de los paquetes .NET en los resultados de búsqueda. Agregar un filtro de etiquetas "tags:native" a su cuadro de búsqueda podría brindarle resultados más precisos. Otra cosa que debe tener en cuenta es la compatibilidad del paquete. La mayoría de los paquetes de NuGet se dirigen a una versión específica de Visual Studio; no todos los paquetes admiten todas las arquitecturas de procesador.

Estamos escuchando

Queremos que el sistema de paquetes NuGet brinde la mejor experiencia de distribución de bibliotecas para C++ en Windows. Sus comentarios son fundamentales, ya que consideramos agregar más paquetes y características de C++ a NuGet.