È così:
[

Ma dovrebbe essere così:

Cioè, facciamo plugins che usano wrapper che usano 3dparties libraries per non dover ricompilare ogni volta.
Ma l'errore sta nel fatto che i plugins caricano gli headers dei wrappers e non della base class.
Quindi se un giorno non vogliamo usare più, per esempio, Julius per l'ASR ma un'altra libreria, dobbiamo comunque editare il plugin
perché dobbiamo #includere un altro .h file e dichiarare un altro oggetto. Il resto non cambia perché c'é la base class (interfaccia),
ma è pur sempre un design error.
Il problema nasce dal fatto che non possiamo ovviamente dichiarare oggetti di classi pure virtual quindi dobbiamo usare una classe derivata ma non dovremmo sapere quale...

PS: Le immagini sono sbagliate: dove c'è
lib_A
lib_A
lib_A
dovrebbe essere
lib_A
lib_B
lib_Z
ma non mi va di rifarle.