2015-07-22 89 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

相关问题