タイトルが示すように、コンパイル中にコンパイラが到達した最大インスタンス deph を提供するコンパイラ ログ設定はありますか?
コンパイルが最大テンプレート deph (GCC のデフォルト値は C++11 モードで 900) を超えた場合、コンパイルは失敗します。しかし、必要なのは、コンパイルが成功したときにコンパイラが到達したテンプレートのインスタンス化の最大深度を取得することです。
g++にはそのようなオプションがありますが、たとえば kubuntu ではデフォルトで有効になっていません。
以下はgcc/cp/tree.cfromの一部ですgcc-4.8.1(したがって、GPL の下でライセンスされています)。
void
cxx_print_statistics (void)
{
print_search_statistics ();
print_class_statistics ();
print_template_statistics ();
if (GATHER_STATISTICS)
fprintf (stderr, "maximum template instantiation depth reached: %d\n",
depth_reached);
}
-fdump-statistics -fstatsコマンドラインに追加するときにこれらの統計を取得できますが、 GATHER_STATISTICSコンパイル時に有効にする必要があるため、探している機能を取得するにgccはおそらく再構築する必要があります.gcc