TLDR;
Devez- vous ajouter la source? OUI
Faut - X ajouter la source? DÉPEND
Voici le pourquoi ...
À l'époque, le temps de compilation était un problème rencontré par des projets encore plus petits. Compiler vos sources et ne jamais vous soucier de la mise en cache des résultats du compilateur était certainement attrayant pour certains. C'est un point pour les bibliothèques qui ne vous concernent pas.
Un autre important est le versioning. Avez-vous vraiment besoin de versionner chaque bibliothèque séparément? Exécuter des tests contre chacun? Le distribuer à plusieurs membres de l'équipe? Les bibliothèques sont géniales si vous le faites, et pratiques pour vous déplacer, mais encore une fois, il semble que vous ne vous en souciez pas non plus.
Le dernier point ici est, c'est une surcharge supplémentaire, et la suppression des fichiers source est plus facile dans votre cas, ce qui donne un point très fort à la suppression des sources plutôt qu'à l'utilisation de bibliothèques. Comme vous l'avez remarqué, une fois que vous avez modifié un seul paramètre du compilateur, vous devez chasser toutes les dépendances autrement.
Je sais tout cela par expérience:
Pour les projets Swift, j'utilise définitivement des frameworks (bibliothèques) et des liens avec eux, car il est facile de configurer en utilisant Xcode. J'ai aussi vraiment besoin de versions, de tests et de découplage, c'est pourquoi.
Pour les projets Mono (C #), pour Unity, j'ai commencé avec l'approche hip de décomposer le projet en bibliothèques, compilé et testé chacun, ce qui était super ... mais une fois que j'ai déposé les bibliothèques dans Unity, toutes sortes de problèmes se sont produits , de la version piratée de Mono Unity au simple comportement parfois différent du code lors du changement de plate-forme. Ne pas avoir un seul IDE ici pour gérer toutes les bibliothèques a été une vraie douleur, donc mettre toutes les sources dans Unity a été un énorme gain de productivité.
Enfin, le plus pertinent pour vous, un projet de jeu C ++ sur lequel j'ai travaillé. Un moteur de jeu, un client réseau en temps réel, un client HTTP réseau, une IA et un magasin de persistance ont été écrits pour ce jeu, juste du côté client. Pour quoi ai-je opté? Bibliothèques CLion +. Même si j'utilisais des bibliothèques, je n'avais pas l'impression de l'être. Toutes les sources étaient dans le projet CLion IDE, et en composant CMakeLists, j'ai pu déclencher toutes les générations et les lier en un seul coup.
En conclusion , je dirais que l'utilisation des bibliothèques est une solution évolutive, mais aussi une optimisation prématurée si elle n'est pas nécessaire. Pour autant que je sache de votre situation, le passage de MSVC à Xcode sera une douleur si vous avez plusieurs cibles de construction. Donc, déposez-le et maintenez autant d'isolement que possible pour le moment où vous devrez peut- être utiliser des bibliothèques.
PS: J'ai un dilemme similaire ces jours-ci avec Docker. Dois-je composer? Dois-je simplement courir localement? .. etc. Aussi Elixir, car il vous permet de créer des applications dans la même application .. Dois-je faire cela? Ou séparer l'application en soi-disant micro-services? ... etc. Il n'y a pas de solution miracle, mesurez-vous toujours comme YMMV.