У меня регулярно эта проблема под Visual 2005 или 2008:
Когда я компилирую кучу библиотек DLL (нативные C, C ++, управляемые), иногда некоторые из них неправильно связываются с некоторыми библиотеками отладки Microsoft. На выходе ничего не упоминается (без предупреждения, без ошибок). Я не могу знать, пока я не запущу свою программу и не получу «Исключение модуля не найдено» без дополнительных объяснений.
Когда я открываю Dll с помощью Dependency Walker, некоторые из них отсутствуют MSVCR90D.DLL и MSVCP90D.DLL . Если мне повезет, мне просто нужно восстановить поврежденную dll, чтобы получить действующую. В худшем случае перестройка создает другую поврежденную DLL, пока не произойдет таинственный момент (часы или дни спустя), когда полученная действительная DLL ... звучит безумно, не правда ли?
У действительных dll есть такой путь:
C: \ Windows \ WinSxS \ x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f \ MSVCP90D.DLL
Это сводит меня с ума! ... Есть идеи? Спасибо.