Программа MFC имеет ошибку времени выполнения R6025 только на некоторых 32-битных компьютерах с Windows 7 и исправляет ее после установки Visual Studio на нем
У меня есть приложение MFC, скомпилированное с Visual Studio 2010. На определенном компьютере (32-разрядном) оно получало сообщение об ошибке "Ошибка времени выполнения: вызов чисто виртуальной функции R6025" и иногда беззвучное закрытие (без сбоя).
После убеждения клиента установить Visual Studio 2010 ошибка исчезла автоматически. Но я не знаю почему. Распространяемые файлы Visual C++ 2010 (x86) были установлены до установки Visual Studio на этот ПК.
Почему установка Visual Studio 2010 исправила это, хотя распространяемые файлы были установлены? Может быть, распространяемые файлы были повреждены? (Если это возможно) Или Visual Studio устанавливает другие файлы, которые могут повлиять?
Мне нужно объяснить клиенту, что исправило ошибку, но я не уверен. Есть ли какой-нибудь безопасный способ заставить приложение использовать файлы MFC, чтобы избежать подобных труднопроизводимых ошибок?
Кстати, не было никакого вызова к чисто виртуальной функции, поэтому я думаю, что может быть какое-то отношение к дистрибутивам или некоторым другим файлам.
1 ответ
По моему опыту, эта ошибка "обращения к чисто виртуальной" иногда возникает, когда вы собрали не ту версию Windows SDK, если для WINVER задан более высокий уровень ОС, чем для того, на котором вы работаете.
Это не объясняет, почему проблема была решена, хотя также убедитесь, что распространяемые вами дистрибутивы были для того же пакета обновления VS2010, который вы использовали для сборки.