Visual Studio Community 2015では、Visual C++プロジェクトはリリースフォルダーに* .ipdbファイルと* .iobjファイルを生成します。
現在、Visual Studio Community 2013では、これらのファイルがプロジェクトのReleaseフォルダーで生成されたのを見たことがないので、知りたいのですが-
それらの生成を停止することは可能ですか?
これらのファイルは、 インクリメンタルリンクタイムコード生成(LTCG) が有効な場合に生成されます。これは、Visual C++ 2015の新機能です。
Incremental LTCGを無効にすると、リンカーはこれらのファイルの生成を停止します。しかし、その後、インクリメンタルLTCGの利点を失います。
増分LTCGを無効にするには、プロジェクトプロパティを変更します。リンカー=>最適化で、「リンクタイムコード生成」を「高速リンクタイムコード生成を使用(/ LTCG:増分)」以外に変更します(これはリリースビルドのデフォルトです)。
コンソールにそのようなメッセージを出力すると、プロジェクトをより速く生成できると思います。
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生成がコンパイル時間の大部分を占めるためです。あなたはそれを「プリコンパイルされたソース」と考えることができます。
増分リンクを無効にする必要はありません。 VS 2015以降、リリースビルドのリンカー/最適化の下のデフォルトは「高速リンク時コード生成」(/ LTCG:incremental)です。これを「リンクタイムコード生成」(/ LTCG)に変更するだけで、インクリメンタルリンクが作成され、VSは* .iobjおよび* ipdbファイルの生成を停止します。