¿La biblioteca C++ Boost suele estar incluida por defecto en la mayoría de las distribuciones de Linux?C++ Boost: ¿está incluido por defecto en la mayoría de las distribuciones de Linux?
Respuesta
Muchas distribuciones incluyen boost en sus repositorios oficiales, pero no las proporciona de manera predeterminada en una instalación estándar (en otras palabras, no está instalado por defecto, pero es relativamente fácil de instalar).
Por otro lado, presumiendo que estás preguntando esto porque te estás preguntando si puedes usar boost en un proyecto que deseas trabajar en muchas distribuciones: la mayoría de las bibliotecas de boost son solo encabezado porque son plantillas, lo que significa que se compilan en su proyecto y no importa si una distribución los tiene instalados (el mismo efecto que vincular estáticamente).
Para aquellas partes de boost que no son solo encabezado, puede vincular estáticamente y aún así hacer un binario que se ejecutará en distribuciones que no vienen con boost.
Tenga en cuenta que las distribuciones con Boost incluidas pueden incluir una versión realmente anterior de Boost. Descubrí que esto puede causar muchos problemas pequeños.
Por ejemplo, encontrará una clase whizz-bang que está en boost v.latest y no está en la versión v.incluida. Si dicha clase de whiz-bang es solo 'encabezados', puedes evitar esto bastante fácilmente. Si dicha clase involucra una biblioteca, el factor de dolor aumenta (los binarios existentes querrán bibliotecas compartidas de la versión v.incluidas: su código querrá v.latest).
Estoy seguro de que se pueden solucionar todos estos problemas, pero probablemente sean más de lo que planeaba, así que reserve algo de tiempo en su agenda/carrera para lidiar con ellos.
- 1. ¿El proyecto mono .NET está incluido en la última versión de las distribuciones más populares de linux?
- 2. ¿Por qué este archivo de encabezado boost no está incluido?
- 3. compatibilidad binaria entre las distribuciones de Linux
- 4. Compilar C++ para todas las distribuciones de Linux
- 5. ¿Por qué el ensamblaje System.Configuration no está incluido en nuevos proyectos por defecto?
- 6. C/JSON Library en populares distribuciones de Linux?
- 7. ¿Cómo compilo en Linux para compartir con todas las distribuciones?
- 8. por defecto en C#
- 9. ¿Está `int` por defecto` signed long int` en C++?
- 10. ¿Por qué el constructo con() no está incluido en C#, cuando está realmente bien en VB.NET?
- 11. paquetes de construcción de Linux para múltiples distribuciones y versiones
- 12. Cómo reducir el consumo de memoria C++ por defecto?
- 13. Boost - compilación cruzada - "de Linux" "a Windows"
- 14. parámetros por defecto C#
- 15. Funciones de Quantile en boost (C++)
- 16. parámetros por defecto en C++
- 17. C argumentos por defecto
- 18. Building Boost con el compilador LSB C++
- 19. ¿C++ permite tipos de devolución por defecto para las funciones?
- 20. ¿Capturas la mayoría de las excepciones derivadas?
- 21. ¿Por qué kerberos está por defecto en NTLM en WCF?
- 22. ¿Cómo obtengo los valores de los argumentos por defecto con las opciones del programa boost?
- 23. ¿Por qué el código en la mayoría de las implementaciones de STL es tan intrincado?
- 24. Building Boost en Linux - nombres de biblioteca
- 25. Boost Asio en Linux sin usar Epoll
- 26. ¿Por qué varias distribuciones de Linux utilizan diferentes gestores de paquetes?
- 27. C opciones de Visual C++ de compilador por defecto
- 28. Objetivo C ¿Parámetros por defecto?
- 29. ¿Puedo usar boost en uclibc linux?
- 30. ¿Hay plataformas Unix donde Perl no está instalado por defecto?
¡Estás leyendo mi mente! – jldupont
+1 en la distinción de plantillas frente a bibliotecas – Javier
También puede vincular en bibliotecas estáticas, si está utilizando una de las bibliotecas que no es solo encabezado, siempre puede hacer un binario distribuible. El truco es si quieres que el usuario pueda construirlo por sí mismo, entonces necesitan los encabezados (y bibliotecas si es necesario), pero si están construyendo cosas ellos mismos, probablemente no sea demasiado pedir. – teeks99