2015-07-22 85 views
18

在Visual Studio Community 2015中,Visual C++項目在其Release文件夾中生成* .ipdb文件和* .iobj文件。VIsual Studio 2015可能會停止生成* .ipdb * .iobj文件嗎?

現在在Visual Studio 2013的社區,我從來沒有見過在項目發佈文件夾中生成這些文件,所以我想知道 -

是否有可能停止發電呢?

+0

你正在建造什麼樣的項目?您是否嘗試將項目設置中的「輸出目錄」和「中間目錄」設置爲不同的文件夾? 「ipdb」文件是否在輸出或中間文件中結束? –

+0

@Chuck Walbourn - Win32控制檯應用程序。是的,我有。 ipdb文件最終在Output文件夾中。 – Neon

回答

22

這些文件是在Incremental Link-Time Code Generation (LTCG)已啓用時生成的。這是Visual C++ 2015中的新功能。

如果禁用增量LTCG,鏈接器將停止生成這些文件。但是,你失去了增量LTCG的好處。

要禁用增量LTCG,請修改您的項目屬性:在鏈接器=>優化下將鏈接時間碼生成更改爲「使用快速鏈接時間碼生成(/ LTCG:增量)」之外的內容(這是發佈版本)。

+0

非常感謝這個翔實的答案。一切都清楚了。猜猜,我會帶着Incremental LTCG的好處。 – Neon

2

我相信它讓你更快地生成項目,當它打印這種信息的控制檯:

2 of 3 functions (66.7%) were compiled, the rest were copied from previous compilation. 
1> 2 functions were new in current compilation 
1> 0 functions had inline decision re-evaluated but remain unchanged 
1> Finished generating code 

我不認爲你可以刪除它,但它是一個有用的工具 這是因爲PDB生成需要大部分編譯時間。我相信你可以把它看作是「預編譯的源代碼」。

+0

是的,重新編譯取決於它們的存在。 – Neon

+6

它在輸出目錄中結束是沒有用的。 – Neutrino

相關問題