Tengo las versiones estática y dinámica de las bibliotecas de impulso en/usr/lib. Ahora me gustaría que CMake prefiera las versiones estáticas durante el enlace de mi ejecutable. ¿Que puedo hacer?Enlace de las versiones estáticas de las bibliotecas de Boost usando CMake
23
A
Respuesta
32
En el archivo CMakeLists.txt
:
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost REQUIRED ...)
Dónde tengo ... que opcionalmente poner los nombres de las bibliotecas que desea usar, y luego más tarde target_link_libraries(targetname ${Boost_LIBRARIES})
a continuación. Si tiene una distribución bastante reciente de CMake, debería funcionar exactamente como se anuncia. Lo hago exactamente de esta manera en mis propios proyectos.
Cuestiones relacionadas
- 1. cmake no encuentra las bibliotecas de impulso
- 2. ¿Construyendo bibliotecas estáticas en Mac usando CMake y GCC?
- 3. dependencias de solapamiento entre las bibliotecas de CMake
- 4. CMake: ¿cómo crear una sola biblioteca compartida desde todas las bibliotecas estáticas de subproyectos?
- 5. ¿Cómo se relacionan las bibliotecas estáticas con las dependencias?
- 6. Tamaño de las bibliotecas estáticas generadas por Xcode
- 7. ¿Cómo usar mis propias versiones de las bibliotecas de Clojure?
- 8. Documentación de Doxygen para las bibliotecas de Boost?
- 9. Vinculación del código LLVM JIT a las bibliotecas LLVM estáticas?
- 10. Cmake no encuentra Boost
- 11. Cómo vincular las bibliotecas de protobuf de google a través de cmake en Linux?
- 12. ¿Cómo instalar las bibliotecas de Boost con CodeBlocks?
- 13. ¿Hay un análogo .net para las bibliotecas de Boost?
- 14. ¿Cómo construyes las bibliotecas de x64 Boost en Windows?
- 15. bibliotecas estáticas
- 16. ¿Cómo le digo a cmake que quiero que mi proyecto vincule las bibliotecas estáticamente?
- 17. El equivalente .NET de bibliotecas estáticas?
- 18. bibliotecas de terceros en CMake
- 19. Mezcla de bibliotecas estáticas y bibliotecas compartidas
- 20. ¿Cuáles son las ventajas de utilizar las bibliotecas de C++ Boost?
- 21. Genere las bibliotecas de OpenCV 2.0 desde el origen con Visual Studio 2010 Beta y CMake
- 22. Bloques de código, MinGW, Boost y problemas de enlace estático
- 23. CMake and Boost
- 24. Acelerar el tiempo de compilación/enlace al usar las bibliotecas de impulso
- 25. ¿Tengo bibliotecas de impulso estáticas o dinámicas?
- 26. Utilizando concurrentemente 2 versiones de boost
- 27. ¿Debo dominar las bibliotecas STL antes de aprender las alternativas BOOST?
- 28. Compilación de bibliotecas estáticas de TagLib 1.6.3 para Windows
- 29. Ayuda para compilar y usar las bibliotecas boost C++
- 30. ¿Es posible deshabilitar Excepciones y RTTI en las bibliotecas Boost?
Excelente trabajo. Muchas gracias – domachine
Lo intenté. Parece que solo es para buscar. Si desea un enlace estático, aún necesita hacer un trabajo adicional. –
@Peter Lee: donde he '' ... opcionalmente pone los nombres de las bibliotecas que desea usar, y luego 'target_link_libraries (targetname $ {Boost_LIBRARIES})' más adelante. Si tiene una distribución bastante reciente de CMake, debería funcionar exactamente como se anuncia. Lo hago exactamente de esta manera en mis propios proyectos. – greyfade