Ho difficoltà a capire perché dovresti sviluppare librerie interne da utilizzare esclusivamente per lo sviluppo di applicazioni interne. Apprezzo che se voglio usare software che qualcuno all'esterno dell'organizzazione ha scritto, possono inviarmi i loro file di intestazione e file .a o .so e posso semplicemente collegarlo al mio progetto (supponendo che siano compilati nello stesso ambiente) .
Ma perché una libreria interna dovrebbe essere sviluppata solo per essere collegata a un'applicazione interna quando ho accesso ai file di intestazione e implementazione e posso semplicemente includerli nella mia struttura di origine e compilarli tutti insieme?
In altre parole: se viene scritto un codice sorgente, come decidi se deve essere compilato in una libreria binaria e collegato alla tua applicazione o semplicemente incluso nei file sorgente del progetto e compilato regolarmente?
Quando dico "includi" i file in ogni progetto, non intendo copiare e incollare ogni file nell'albero dei sorgenti del progetto attualmente in fase di sviluppo. Intendo sviluppare qualche directory / libreria (separata da qualsiasi progetto) contenente un codice sorgente comune che possa essere incluso nei file di un progetto nel solito modo, ad esempio #include.
P.S. Sto parlando di sviluppo c / c ++ qui per più applicazioni desktop.