Quelles sont les meilleures pratiques pour inclure la bibliothèque de pointeurs intelligents seulement sans ajouter toutes les bibliothèques de boost dans le projet? Je veux seulement booster la bibliothèque de pointeurs intelligents dans mon projet et je ne veux pas enregistrer/valider 200 Mo les codes source (boost 1.42.0) dans mon référentiel de projet juste pour ça. De plus, mon projet Windows Mobile n'atteint même pas 10% de cette taille!Comment inclure uniquement les codes de pointeurs intelligents BOOST dans un projet?
Répondre
Pour la bibliothèque de pointeurs intelligents, vous avez deux options.
- Copiez les en-têtes que vous incluez dans vos fichiers source (
shared_ptr.hpp
, etc.). Ensuite, copiez sur des fichiers supplémentaires jusqu'à la construction du projet (assurez-vous de maintenir la structure du répertoire). Utilisez l'utilitaire bcp de boost. Pour les sous-ensembles plus importants, cet outil permet d'économiser beaucoup de temps.
Le premier s'assurera que le plus petit nombre de fichiers possible sera ajouté à votre projet. Ce dernier est beaucoup plus rapide pour tout sous-ensemble substantiel de boost, mais il inclura probablement de nombreux fichiers dont vous n'avez pas besoin (en-têtes de compatibilité pour les plates-formes que votre programme ne supporte pas).
Première fois que j'entends parler de bcp. +1 – BenG
agréable. peut-être que je peux d'abord utiliser bcp, puis le réduire manuellement. non 2, puis non 1. –
Vérifiez simplement dans le dossier contenant le code que vous voulez? Essayez de supprimer/déplacer/renommer "tout le reste" et voir quelles dépendances externes la bibliothèque de pointeurs intelligents a, probablement pas beaucoup. Je suis presque certain qu'il ne nécessite aucun code intégré (c'est-à-dire des bibliothèques), donc il suffit de cocher tous les en-têtes inclus.
Il donne certainement le nombre minimum de fichiers à inclure. J'ai commencé par ajouter un fichier,
- 1. Pointeurs intelligents dans Qt
- 2. Itération et conteneurs de pointeurs intelligents
- 3. Pointeurs intelligents et polymorphisme
- 4. GMP et pointeurs intelligents
- 5. stimuler les pointeurs intelligents et BOOST_NO_MEMBER_TEMPLATES
- 6. pointeurs intelligents, ou "mieux" destructor
- 7. en utilisant mem_fun() pour conteneur de pointeurs intelligents
- 8. Boost référence de codes d'erreur
- 9. Comment sont liés les Boost Bind, les Boost Function, les Boost Signals et les pointeurs de fonction C++?
- 10. Comment supprimer des pointeurs intelligents d'un cache lorsqu'il n'y a plus de références?
- 11. Comment empêcher le stockage d'une classe intrusive_ptr dans d'autres pointeurs intelligents
- 12. Mise en route avec des pointeurs intelligents en C++
- 13. Boost Inclure des fichiers dans VC++
- 14. Est-il possible d'utiliser des pointeurs intelligents C++ avec malloc?
- 15. Comment inclure tous les fichiers d'en-tête boost?
- 16. Comment inclure les assemblages de Castle ActiveRecord avec un projet C#
- 17. Comment inclure un fichier msi dans un projet d'installation Wix
- 18. Inclure automatiquement les fichiers dans un projet C#
- 19. Inclure des sources non-Java dans un projet Maven
- 20. Boost MSM traite uniquement les transitions internes
- 21. Comment inclure Openssl dans mon projet?
- 22. comment inclure ZXing dans le projet iphone
- 23. Utiliser for_each et boost :: bind avec un vecteur de pointeurs
- 24. Comment inclure plusieurs projets Xcode dans un projet maître
- 25. Options courtes uniquement dans boost :: options_programme
- 26. Comment déboguer dans un projet AS3 uniquement dans Flex ...?
- 27. Comment inclure Javascript uniquement sur les pages spécifiées
- 28. Comment inclure des fichiers externes dans un multi-projet .vstemplate?
- 29. Pointeurs vers les fonctions
- 30. partiels intelligents forme universelle dans les rails
Avez-vous besoin de Boost pour être sous contrôle de la source du tout? – jalf
Je suis le premier dans l'équipe à utiliser boost et tout le monde n'est pas encore familier avec boost. Si je commets quelque chose qui ne se compile pas (absence de dépendances), cela serait gênant pour eux. –
Je pense habituellement, vous auriez des gens installer Boost sur leurs boîtes. C'est, le traiter comme la bibliothèque standard. Ensuite, il n'y a pas besoin de s'engager, et maintenant c'est toujours là. – GManNickG