Переустановите MSVS2008 с пакетом обновления 1. Кажется, ваша установка повреждена.
У меня такое было - это проявляется с таинственным поведением, подобным этому, хотя я также видел, как оно проявляется со странными «внутренними ошибками» при связывании больших DLL / EXE-файлов, а иногда и при компиляции очень больших проектов или очень больших переводческие единицы. По какой-то причине переустановка пакета обновления сработала.
Вот быстрая ссылка: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en
Другая мысль может заключаться в том, что вы сделали ссылку отладки в вашем исполняемом файле релиза. Даже несмотря на то, что вы создали решение для «RELEASE|WIN32
», если какие-либо предварительные условия (связанные библиотеки) были версией отладки (либо на *.lib
ссылались непосредственно, либо на путь отладки вместо пути выпуска), вы бы в итоге получится микс, и «отладочная» версия этой DLL попытается загрузить.
Тогда причина его сбоя, вероятно, заключается в том, что вы размещены в модуле «release» и удалены в модуле «debug» (или наоборот). Это не сработает, потому что распределители отличаются (так как «отладочные» версии выделяют дополнительное состояние для сторожей и других «проверок отладки»).
Помните, что MSVS2008 "переопределит" любые настройки проекта / решения с параметрами, найденными в Tools==>Options
, даже если вы создаете из командной строки. Убедитесь, что для отсылки в ваших целях выпуска не указаны пути отладки. (Это было плохое решение Microsoft, поскольку оно приводит к файлам проектов / решений, которые не описывают то, что на самом деле происходит, они удалили эту "функцию" в MSVS2010.)
Вы также можете взглянуть на: