Mon application (C++, multiplate-forme) utilise fortement les bibliothèques Boost
(disons la version 1.x
), et je veux également lier le SDK d'un tiers (fournisseur), lui-même en utilisant Boost
(mais la version 1.y
). Donc, nous lions tous deux dynamiquement contre notre propre version de DLLs Boost
, CRT étant identique. Par conséquent, au moment de l'exécution, mon application devrait charger les deux DLL de Boost 1.x & 1.y
.Est-ce que plusieurs versions d'une même DLL (Boost) peuvent coexister dans le même processus?
Quels sont les problèmes potentiels & gotchas associés?
Je ne peux pas modifier le SDK du fournisseur, mais je peux modifier mon application. Peut-être que je devrais essayer de lier statiquement contre mon Boost 1.x
? PS: Le nom du DLL de Boost
inclut leur version, donc aucune collision de nom, les deux sont identifiables. Pas l'habituel DLL-enfer.