可以在 2015 年 VIsual Studio 之前停止生成 *.ipdb *.iobj 文件吗?
Possible to stop generating *.ipdb *.iobj files by VIsual Studio 2015?
在 Visual Studio Community 2015 中,一个 Visual C++ 项目在其 Release 文件夹中生成一个 *.ipdb 文件和一个 *.iobj 文件。
现在在 Visual Studio Community 2013 中,我从未见过在项目发布文件夹中生成这些文件,所以我想知道 -
是否可以停止生成它们?
我相信它可以让您更快地生成项目,当它在控制台中打印出这样的消息时:
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 生成占用了大部分编译时间。你可以认为是"precompiled sources"我相信。
这些文件是在启用 Incremental Link-Time Code Generation (LTCG) 时生成的。这是 Visual C++ 2015 中的新功能。
如果禁用增量 LTCG,链接器将停止生成这些文件。但是这样你就失去了增量 LTCG 的好处。
要禁用增量 LTCG,请修改您的项目属性:在链接器 => 优化下将 "Link Time Code Generation" 更改为 "Use Fast Link Time Code Generation (/LTCG:incremental)" 以外的内容(这是发布版本的默认设置)。
您不需要禁用增量链接。由于 VS 2015 默认在 Linker/Optimization 下发布版本是 "Fast Link Time Code Generation" (/LTCG:incremental)。您只需将其更改为 "Link Time Code Generation" (/LTCG),您将拥有增量链接,VS 将停止生成 *.iobj 和 *ipdb 文件。
Visual Studio 2019 版 16.7 16.9 应该根据此处的错误报告和讨论修复此行为:Intermediate ilk, iobj and ipdb files end up in $(OutDir) instead of $(IntDir)
在 Visual Studio Community 2015 中,一个 Visual C++ 项目在其 Release 文件夹中生成一个 *.ipdb 文件和一个 *.iobj 文件。
现在在 Visual Studio Community 2013 中,我从未见过在项目发布文件夹中生成这些文件,所以我想知道 -
是否可以停止生成它们?
我相信它可以让您更快地生成项目,当它在控制台中打印出这样的消息时:
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 生成占用了大部分编译时间。你可以认为是"precompiled sources"我相信。
这些文件是在启用 Incremental Link-Time Code Generation (LTCG) 时生成的。这是 Visual C++ 2015 中的新功能。
如果禁用增量 LTCG,链接器将停止生成这些文件。但是这样你就失去了增量 LTCG 的好处。
要禁用增量 LTCG,请修改您的项目属性:在链接器 => 优化下将 "Link Time Code Generation" 更改为 "Use Fast Link Time Code Generation (/LTCG:incremental)" 以外的内容(这是发布版本的默认设置)。
您不需要禁用增量链接。由于 VS 2015 默认在 Linker/Optimization 下发布版本是 "Fast Link Time Code Generation" (/LTCG:incremental)。您只需将其更改为 "Link Time Code Generation" (/LTCG),您将拥有增量链接,VS 将停止生成 *.iobj 和 *ipdb 文件。
Visual Studio 2019 版 16.7 16.9 应该根据此处的错误报告和讨论修复此行为:Intermediate ilk, iobj and ipdb files end up in $(OutDir) instead of $(IntDir)