TLDR;
Nel caso si aggiungere la fonte? SÌ X
dovrebbe aggiungere la fonte? DEPENDS
Ecco il perché ...
In passato, il tempo di compilazione era un problema che avevano anche i progetti più piccoli. Compilare le tue fonti e non preoccuparti mai della memorizzazione nella cache dei risultati del compilatore è stato sicuramente interessante per alcuni. Questo è un punto per le biblioteche per te irrilevanti.
Un altro importante è il controllo delle versioni. Hai davvero bisogno di versioni ciascuna libreria separatamente? Eseguire test su ognuno? Distribuirlo tra molti membri del team? Le biblioteche sono fantastiche se lo fai e sono comode da spostare, ma sembra che non ti interessi neanche a questo.
L'ultimo punto qui è, è un sovraccarico aggiunto, e la caduta dei file di origine è più facile nel tuo caso, il che dà un punto molto forte alla caduta nelle fonti piuttosto che all'utilizzo delle librerie. Come hai notato, una volta apportata una modifica alle impostazioni di un singolo compilatore, devi inseguire tutte le dipendenze in caso contrario.
Conosco tutto questo per esperienza:
Per i progetti Swift, uso sicuramente i framework (librerie) e li collego, poiché è facile da configurare usando Xcode. Ho anche davvero bisogno del controllo delle versioni, dei test e del disaccoppiamento lì, quindi è per questo.
Per i progetti Mono (C #), per Unity, ho iniziato con l'approccio alla moda di scomporre il progetto in librerie, compilare e testare ciascuno di essi, il che è stato fantastico ... ma una volta che ho lasciato cadere le librerie in Unity, sono successi tutti i tipi di problemi , dalla versione compromessa di Mono Unity, semplicemente al comportamento a volte diverso che il codice mostra quando cambia piattaforma. Non avere un solo IDE qui per gestire tutte le librerie è stata una vera seccatura, quindi mettere tutte le fonti in Unity è stata una grande vittoria per la produttività.
Infine, per te più rilevante, un progetto di gioco in C ++ a cui ho lavorato. Un motore di gioco, client di rete in tempo reale, client di rete HTTP, AI e un archivio di persistenza sono stati scritti per questo gioco, proprio sul lato client. Cosa ho optato per? CLion + Librerie. Anche se stavo usando le librerie, non mi sembrava di esserlo. Tutte le fonti erano nel progetto IDE di CLion e componendo CMakeLists, sono stato in grado di innescare tutte le build e collegarle in un solo colpo.
In conclusione , direi che usare le librerie è una soluzione a prova di futuro, ma anche un'ottimizzazione prematura se non necessaria. Per quanto ho potuto accertare dalla tua situazione, passare da MSVC a Xcode sarà una seccatura se avrai un obiettivo con più build. Quindi, inseriscilo e mantieni il maggior isolamento possibile per il momento in cui potresti dover usare le librerie.
PS: Sto vivendo un dilemma simile in questi giorni con la docker. Dovrei comporre? Devo solo eseguire localmente? .. ecc. Anche Elisir, in quanto ti consente di creare applicazioni all'interno della stessa applicazione. Devo farlo? O separare l'app nei cosiddetti micro-servizi? ... ecc. Non esiste un proiettile d'argento, misura sempre te stesso, come YMMV.