J'ai du mal à comprendre pourquoi vous devriez développer des bibliothèques internes à utiliser exclusivement pour développer des applications internes. J'apprécie que si je veux utiliser un logiciel écrit par quelqu'un en dehors de l'organisation, il peut m'envoyer ses fichiers d'en-tête et ses fichiers .a ou .so et je peux simplement le lier à mon projet (en supposant qu'ils soient compilés dans le même environnement) .
Mais pourquoi une bibliothèque interne devrait-elle être développée uniquement pour être liée à une application interne lorsque j'ai accès à l'en-tête et aux fichiers d'implémentation et que je peux simplement les inclure dans mon arborescence source et les compiler tous ensemble?
En d'autres termes: si du code source est écrit, comment décidez-vous s'il doit être compilé dans une bibliothèque binaire et lié à votre application ou simplement inclus dans les fichiers source du projet et compilé régulièrement?
Quand je dis «inclure» des fichiers dans chaque projet, je ne veux pas copier et coller chaque fichier dans l'arborescence source du projet en cours de développement. Je veux dire développer un répertoire / bibliothèque (séparé de tout projet) contenant du code source commun qui peut être inclus dans les fichiers d'un projet de la manière habituelle, c'est-à-dire #include.
ps Je parle du développement c / c ++ ici pour plusieurs applications de bureau.