2012-03-07 67 views
0

我有VC++ 2010的解決方案,包含多個項目 - 幾個DLL-S和一個EXE的Visual C++ 2010重建項目中的所有文件,即使只有一個.cpp文件中被改變

每當我換一個.CPP源文件(任何文件)的.EXE項目中,並構建一個解決方案.EXE項目中的所有文件都會重新編譯。

如果我在DLL-s的任何項目中更改單個文件(.EXE依賴於.DLL-s),只有我更改的文件被重新編譯,DLL被重新鏈接(直到此時爲止),然後是所有文件重新編譯.EXE項目。

該項目最近從VC++ 2008移植到2008年,並沒有出現這種行爲。這是在VC++ 2008下,只有改變的文件被重新編譯,然後.EXE被重新鏈接。

有沒有人知道這是什麼原因?或者有沒有辦法從C++編譯器發出某種診斷輸出,這將指出爲什麼它決定特定的.CPP文件不是最新的並需要重新編譯?

回答

1

原因是有問題的項目對預編譯頭文件的設置不正確。它在項目級被設置爲「創建」。

我將項目級別的設置更改爲「使用」,將stdafx.cpp設置爲「創建」,並解決了問題。

+0

我有同樣的問題,但/餘似乎沒有任何效果,仍然總是重建所有源文件:( – dlchambers 2012-03-26 01:36:35

相關問題