リンカはresファイルのみを処理できますが、リソース コンパイラを呼び出し、rcスクリプトをコンパイルしてresファイルを生成し、 $R/$RESOURCEディレクティブのバリエーションを使用してリンクするようにコンパイラに指示できます。
あなたのケース(Delphi 2007)では、次の変更のみが必要です。
{$r glyphs.res}
に
{$r glyphs.res glyphs.rc}
これだけでは機能しない場合は、RC をプロジェクトに追加してみてください。Delphi の異なるバージョンでは、ファイル名を一重引用符で囲む必要がある場合があります。
{$r 'glyphs.res' 'glyphs.rc'}
注: resファイルを特定する必要はありますが、最初に必要なresファイルを生成するために、コンパイルするrcファイルを追加で特定できる点が異なります。
これに対するサポートは、いじくり回されたようで、最近のバージョンでは、RC をプロジェクトに追加しても、プロジェクトを保存して閉じ、再度開くまで、プロジェクトによって常に「検出」されるとは限りません (例:これは XE4 に当てはまることがわかりましたが、他のバージョンにも当てはまる可能性があります)。
また、最近のいくつかのバージョンでは、そのような$R 'file.res' 'file.rc'
宣言を DPR に追加するだけで、プロジェクト マネージャーが参照された RC ファイルをプロジェクトの一部として識別しますが、古いバージョンではそうではないようです。繰り返しますが、この領域のいじくり回しの一部のようです。
また、XE4 は通常、安定性の面で堅実ですが、IDE を閉じるときに RC ファイルを追加/削除するとアクセス違反が発生するように見えましたが、IDE とプロジェクトを再度開くと通常の安定性が回復したようです。つまり、単にプロジェクトに RC ファイルがあるという事実だけでなく、RC ファイルの追加/削除が問題を引き起こしているようです。
更新: Delphi (Delphi 10.2 Berlin) の最近のバージョンでは、行の前にカスタム リソースを含める必要があります{$R *.res}
。そうしないと、自動的にコンパイルされません。