在Visual Studio社区2015中,Visual C ++项目在其Release文件夹中生成* .ipdb文件和* .iobj文件。
现在在Visual Studio社区2013中,我从未见过在项目Release文件夹中生成这些文件,所以我想知道 -
是否可以停止生成它们?
答案 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文件。