crtdll.dll が _fmode_dll などのエントリが削除され、Free Pascalコンパイラに同梱されている古い32bitの「gcc.exe」が動作しなくなり、それを呼び出している「windres.exe」も動作しなくなったためにリソース(.rcファイル)のコンパイルができなくなりました。
ところが、本日(2026年4月15日)、Windows Updateで「2026-04 セキュリティ パッチ (KB5083769) (26200.8246)」を適用したところ、「crtdll.dll」がロールバックされて元に戻りました。非互換の問題が大きくて戻すことになったのでしょうか?
OK:Windowsバージョン:25H2 ビルド:26200.8039 – 「crtdll.dll」(サイズ:149,019)
NG:Windowsバージョン:25H2 ビルド:26200.8117 – 「crtdll.dll」(サイズ: 60,928)
OK:Windowsバージョン:25H2 ビルド:26200.8246 – 「crtdll.dll」(サイズ:149,019) <= 今回、元に戻った。
これにより、Free Pascal同梱の古い「gcc.exe」が再び動作するようになりました。
fpc コンパイラに「TDM-GCC」の「windres.exe」を呼び出すパラメータを付けたコマンドスクリプト[コマンドスクリプト(その2)]はそのまま継続使用可能です。
今回「crtdll.dll」が戻されましたが、今後再び同様なことが起きる可能性も否定できないので注意してください。
