Visual C ++ 2010 перестраивает все файлы в проекте, даже если был изменен только один файл .CPP - PullRequest
0 голосов
/ 08 марта 2012

У меня есть решение VC ++ 2010, которое содержит несколько проектов - несколько DLL-файлов и один EXE

Всякий раз, когда я изменяю один исходный файл .CPP (любой файл) в проекте для .EXE и строю решение, все файлы в проекте для .EXE перекомпилируются.

Если я изменяю один файл в любом проекте для DLL-ов (.EXE зависит от .DLL-ов), то только измененный файл перекомпилируется, DLL повторно связывается (как и ожидалось до этого момента) и затем все файлы в проекте для .EXE перекомпилированы.

Этот проект был недавно перенесен с VC ++ 2008 и до 2008 года он не демонстрировал такого поведения. То есть под VC ++ 2008 только измененные файлы были перекомпилированы, а затем .EXE был повторно связан.

Кто-нибудь знает, в чем причина? Или есть способ выдать какой-то диагностический вывод из компилятора C ++, который укажет, почему он решил, что конкретный файл .CPP не устарел и нуждается в перекомпиляции?

1 Ответ

1 голос
/ 09 марта 2012

Причина в том, что в рассматриваемом проекте были неверные настройки для предварительно скомпилированных заголовков. Было установлено «Создать» на уровне проекта.

Я изменил настройку на «Использовать» на уровне проекта и «Создать» для stdafx.cpp, и это решило проблему.

...