Mon projet compilé en mode debug, est-il obligé d'utiliser la version debug de la bibliothèque CRT ?
Version imprimable
Mon projet compilé en mode debug, est-il obligé d'utiliser la version debug de la bibliothèque CRT ?
Oui. Il ne faut jamais mélanger des versions debug et release de bibliothèques, CRT ou pas CRT.
Et si j'utilise une lib externe, fournie évidemment en release, qui elle utilise une version release du CRT, je fais comment ?
J'ai d'ailleurs le même problème avec Boost : la lib externe l'utilise, mais quand je compile mon projet en debug, j'ai besoin des bibliothèques Boost en debug...
PS : si ce sujet de résolution de dépendance serait mieux dans une autre section, merci de me le faire savoir
salut,
he bien tu compiles boost en debug et tu utilises la lib...
Mais dans ce cas là, ma DLL utilisera deux "versions" de Boost : une en release, de manière indirecte, et une en debug, de manière directe.
Cela signifie que si la présence de la CRT n'est pas cachée dans la lib, comme ça a l'air d'être le cas, cette dernière ne doit être utilisée que dans des projets release.Citation:
Et si j'utilise une lib externe, fournie évidemment en release, qui elle utilise une version release du CRT, je fais comment ?
Cela signifie souvent que ça a été mal codé (notamment, les warnings 4251 "ignorés", cf. cette discussion et MSDN)...
Et si c'est bien le cas, comment veux-tu faire ?? Si tu as un élément de ta chaîne mal foutu, forcément, il va t'impacter le reste, c'est hélas inévitable... Car je suppose que tu n'as pas les sources de cette librairie, bien entendu ?