つまり、答えは、XLC の tempinc ユーティリティを使用して移行することです。
tempinc ユーティリティでは、ヘッダー (.h または .hpp) ファイル内のテンプレート宣言と .c ファイル内の実装を使用してファイルをセットアップする必要があります (この拡張子は必須です)。コンパイラがテンプレートのインスタンス化を見つけると、tempinc ディレクトリ内の別のソース ファイルに明示的なインスタンス化を配置し、コードを強制的に生成します。コンパイラは、foo.h で宣言されたテンプレート定義を foo.c で見つけることを認識しています。
私が指定した問題は、依存関係ビルダーがこれを認識していないため、.c ファイルを依存関係に含めることができないことです。
バージョン 6.0では、IBM は -qtempincではなく-qtemplateregistry 設定を使用することをお勧めします。次に、ヘッダー ファイルにテンプレート定義を含める典型的なテンプレート セットアップを使用できます。これは、依存関係ファインダーに表示されるか、ヘッダー ファイルから #include する別のファイルにそれらを配置することもできます。依存関係ファインダーを使用して見つかりました。
-qtempinc の使用から移行する場合は、以下のようなコードを使用して、宣言ファイルからテンプレート実装ファイルを条件付きで #include することができます。
// end of foo.h
#ifndef __TEMPINC__
#include "foo.c"
#endif
したがって、-qtempic 設定の使用に戻ることにした場合でも、コードはビルドおよびリンクされます。