Ошибка C1047: объектный файл создан с более старым компилятором, чем другие объекты - PullRequest
27 голосов
/ 08 мая 2009

У меня есть проект, который я создаю на C ++ в режиме выпуска в Visual Studio 2008 с пакетом обновления 1 (SP1) для Windows 7, и когда я его собираю, я получаю:

фатальная ошибка C1047: объект или файл библиотеки '. \ Release \ foobar.obj' был создан со старым компилятором чем другие объекты; восстановить старое объекты и библиотеки.

Ошибка при связывании.

Я пытался удалить конкретный объектный файл и перестроить, но это не исправило. Я также пытался удалить всю папку сборки релиза и перестроить, но это также не помогло. Есть идеи?

Ответы [ 11 ]

0 голосов
/ 08 мая 2009

Проверьте, есть ли у вас файл .pch (скомпилированный заголовок) где-нибудь в каталоге проекта и удалите его. затем пересоберите проект.
Лучший способ получить чистую сборку - это использовать Build-> Clean или Build-> Rebuild All

Редактировать: Еще одна вещь, которую вы можете попробовать, которая в значительной степени отказоустойчива, - это воссоздание файла проекта в новом каталоге только из исходных файлов. Если это работает, то вы можете постепенно сравнивать старый проект с новым, чтобы увидеть, что не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...