Ho entrambe le versioni statiche e dinamiche delle librerie di boost in/usr/lib. Ora vorrei che CMake preferisse le versioni statiche durante il collegamento del mio eseguibile. Cosa posso fare?Collega le versioni statiche delle librerie Boost usando CMake
23
A
risposta
32
Nel file CMakeLists.txt
:
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost REQUIRED ...)
dove ho ... Opzionalmente si mettono i nomi delle librerie che si desidera utilizzare, e poi in seguito target_link_libraries(targetname ${Boost_LIBRARIES})
sotto. Se hai una distribuzione abbastanza recente di CMake, dovrebbe funzionare esattamente come pubblicizzato. Lo faccio esattamente in questo modo nei miei progetti.
Problemi correlati
- 1. Cmake non trova le librerie Boost
- 2. packaging C++ programma usando librerie boost con cmake/cpack
- 3. L'equivalente .NET delle librerie statiche?
- 4. Costruire librerie statiche su Mac usando CMake e GCC?
- 5. Come creare boost di librerie statiche?
- 6. GCC Non collega le librerie corrette
- 7. Ho librerie boost statiche o dinamiche?
- 8. cmake non trova librerie di boost
- 9. Perché le intestazioni delle librerie statiche non vengono trovate?
- 10. CMake: come creare una singola libreria condivisa da tutte le librerie statiche di sottoprogetti?
- 11. Dimensione delle librerie statiche generate da Xcode
- 12. cmake non collega ncurses
- 13. Perché cmake_link_libraries include librerie statiche?
- 14. Cmake non trova Boost
- 15. Come utilizzare le mie versioni delle librerie Clojure?
- 16. Come collegare più librerie usando CMake
- 17. Boost che collega riesco
- 18. Gestione delle dipendenze nelle librerie statiche con cocoapod
- 19. Combinando librerie statiche
- 20. ctypes per librerie statiche?
- 21. Come si collegano le librerie statiche alle dipendenze?
- 22. Come posso collegare opzionalmente alla libreria boost statica o dinamica usando CMake?
- 23. CMake che distribuisce le librerie richieste
- 24. Combina librerie statiche
- 25. CMake and Boost
- 26. Creazione di OpenCV come librerie statiche
- 27. Come gestire le dipendenze ricorsive tra le librerie statiche usando il linker binutils?
- 28. collegando una libreria condivisa con statica usando CMake
- 29. Ottieni l'elenco delle librerie statiche utilizzate in un eseguibile
- 30. Comprese le librerie boost nei file make
Ottimo lavoro. Grazie mille – domachine
ho provato. Sembra che sia solo per la ricerca. Se si desidera il collegamento statico, è ancora necessario fare un lavoro extra. –
@Peter Lee: Dove ho '...' opzionalmente inserisci i nomi delle librerie che vuoi usare, e poi 'target_link_libraries (nome di destinazione $ {Boost_LIBRARIES}) 'più avanti. Se hai una distribuzione abbastanza recente di CMake, dovrebbe funzionare esattamente come pubblicizzato. Lo faccio esattamente in questo modo nei miei progetti. – greyfade