我有VC ++ 2010解决方案,包含多个项目 - 几个DLL和一个EXE
每当我在.EXE项目中更改一个.CPP源文件(任何文件)并构建解决方案时,都会重新编译.EXE项目中的所有文件。
如果我在DLL-s的任何项目中更改单个文件(.EXE依赖于.DLL-s),则仅重新编译我更改的文件,重新链接DLL(正如预期的那样),然后是项目中的所有文件对.EXE进行重新编译。
这个项目最近从VC ++ 2008移植而来,在2008年它没有出现这种行为。这是在VC ++ 2008下,只更改了文件,然后重新编译.EXE重新链接。
有谁知道这可能是什么原因?或者有没有办法从C ++编译器发出某种诊断输出,这将指出为什么它决定特定的.CPP文件不是最新的并需要重新编译?
答案 0 :(得分:1)
原因是相关项目的预编译标题设置不正确。它在项目级别设置为“创建”。
我在项目级别将设置更改为“使用”,并将stdafx.cpp的设置更改为“创建”并解决了问题。