可以通过VIsual Studio 2015停止生成* .ipdb * .iobj文件吗?

时间:2015-07-22 05:30:36

标签: visual-studio visual-c++ visual-studio-2015 ipdb

在Visual Studio社区2015中,Visual C ++项目在其Release文件夹中生成* .ipdb文件和* .iobj文件。

现在在Visual Studio社区2013中,我从未见过在项目Release文件夹中生成这些文件,所以我想知道 -

是否可以停止生成它们?

4 个答案:

答案 0 :(得分:28)

启用Incremental Link-Time Code Generation (LTCG)时会生成这些文件。这是Visual C ++ 2015中的一项新功能。

如果禁用增量LTCG,链接器将停止生成这些文件。但是你失去了增量LTCG的好处。

要禁用增量LTCG,请修改项目属性:在Linker =>下;优化更改"链接时间码生成"除了"使用快速链接时间码生成(/ LTCG:增量)" (这是发布版本的默认设置)。

答案 1 :(得分: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生成占用了大部分编译时间。您可以将其视为“预编译源”。我相信。

答案 2 :(得分:1)

Visual Studio 2019 16.7版应根据错误报告和此处的讨论来解决此问题:https://developercommunity.visualstudio.com/content/problem/925152/intermediate-iobj-and-ipdb-files-end-up-in-outdir.html

答案 3 :(得分:0)

您不需要禁用增量链接。由于VS 2015在发布版本的链接器/优化下的默认设置为“快速链接时间代码生成”(/ LTCG:增量)。您只需要将其更改为“链接时间代码生成”(/ LTCG),就可以进行增量链接,并且VS将停止生成* .iobj和* ipdb文件。