Я пытаюсь обновить старое решение использовать VS2010 (VC100).
У меня есть он установка так, чтобы stdafx.cpp создал предварительно скомпилированный заголовок stdafx.pch из stdafx.h. Затем все другие .cpp файлы, которые включают stdafx.h, проинструктированы для использования предварительно скомпилированного заголовка.
Эти сообщения помогли мне добраться настолько далеко:
Теперь все в порядке, когда я создаю в режиме выпуска. Однако, когда я пытаюсь создать в режиме отладки, я получаю целую "кучу" ошибочного высказывания:
Ошибка 1 ошибка C2859: [удаленный] \debug\vc100.idb не является idb файлом, который использовался, когда этот предварительно скомпилированный заголовок был создан, воссоздайте предварительно скомпилированный заголовок.
Я полагаю, что этот .idb файл является промежуточным файлом отладки, созданным Visual Studio.
Почему я получаю эту ошибку? Другими словами, почему это не использовало этот .idb файл, когда это создало предварительно скомпилированный заголовок?
Я не уверен, какую дополнительную информацию необходимо смочь дать мне, ответ поэтому просто спрашивает, существует ли больше информации, которую я должен предоставить.
Благодаря коллеге я получил ответ.
Проблема заключалась в том, что в stdafx.cpp для формата отладочной информации было установлено значение «База данных программ» (/ Zi), тогда как для всех других файлов он был установлен в «База данных программ для редактирования и продолжения» (/ ZI).
Изменение их всех на «Базу данных программ для редактирования и продолжения» (/ ZI) и выполнение полной перестройки решило проблему.
Думаю, обновление как-то напортачило.
Может быть, ваша сборка релиза настроена на запись файла [удален] \ debug \ vc100.idb вместо [удален] \ release \ vc100.idb? Проверьте настройки проекта для вашей сборки выпуска и убедитесь, что нет таких жестко заданных компонентов пути.
Вот как я только что исправил эту ошибку в Visual Studio 2008:
Справочная информация:
Причина ошибки:
Исправление: