I miei due rapidi bit su questo: 10 (scusate lo scherzo terribile).
Per espandere leggermente, ecco qui:
1- Una libreria statica può dipendere da un'altra libreria statica, nulla o addirittura una libreria dinamica: nelle prime due istanze tutto il codice per la nuova libreria statica verrebbe incorporato nella nuova SLL (Static Link Library), tuttavia la terza opzione , a seconda dell'evironment, la SLL potrebbe avere uno dei seguenti risultati,
- conterrebbe le versioni statiche del codice richiesto da esso raccolte dalla DLL (Dynamic Link Library)
- o, molto più orribilmente, avresti una libreria statica che, se inclusa in un progetto, causerebbe il requisito della spedizione con una DLL, interrompendo l'intero punto del collegamento statico.
Quindi in breve, è possibile collegare una libreria statica a una libreria statica
2- se lib1 e lib2 sono entrambi statici e lib1 è stato collegato a lib2, allora tutte le funzionalità di lib2 sarebbero disponibili all'interno di lib1 senza la necessità di includere lib2 poiché lib2 sarebbe staticamente collegato all'interno di lib1 (pensa alle bambole russe, con lib2 essendo il più piccolo).
Nello scenario che descrivi ci deve essere una funzionalità discreta disponibile in ciascuno dei file che devi includere, che non è staticamente collegata, quindi la necessità di più file, altrimenti avresti un singolo file da includere e andresti bene.
Prendi quanto segue: Un file .h con riferimenti a 6 librerie collegate staticamente: per ottenere la piena funzionalità dovrai includere 7 file nel tuo progetto
Un SLL che è stato creato da detto file .h richiederebbe di includere solo il nuovo SLL per il collegamento durante la compilazione:
Spero che questo aiuti e che io abbia capito cosa mi stavi chiedendo.