1. j'utilise bien les libs qu'il faut, cela ne vient pas de la.
Ca contredit ton commentaire précédent, qui parle d'utiliser les libs release en mode debug.
3. on ne doit pas s'etre compris sur les libs externes: j'utilise comme tout le monde, entres autres, glu32, opengl32, tinyxml ( en version STL), CEGUI, Devil, mes propres libs qui utilisent std:: et STL, etc... et ce dans leur version release meme quand le programme qui les inclut est en debug: ca ne me parait pas aberrant, dans la mesure ou ces libs sont censées etre débuggées en amont.
Ce n'est pas une histoire de debugger ces bibliothèque, c'est une histoire de faire parler le même langage à deux binaires qui échangent des données.
Plus concrètement, si j'ai ça :
// Lib.dll
std::string blop();
// Prog.exe
std::string s = blop();
... ça va très probablement crasher avec Visual C++ car il n'a pas la même définition de std::string lorsque le binaire a été compilé en mode release et en mode debug. En mode debug, certains champs sont ajoutés (par exemple). Du coup ta DLL t'envoie une instance std::string qui ne correspond pas à la définition que ton programme a, et lorsque tu essayes de l'utiliser tu as un comportement indéfini (crash, corruption mémoire, rien de visible, etc.).