読者です 読者をやめる 読者になる 読者になる

C++Builder6からBDS2006への移行時のチェックポイント

BCB6からBDS2006へ移行したプロジェクトをビルドしたとき、リンク時に"[リンカ 致命的エラー] Fatal: ファイル 'STLPMT.LIB' を開けません"というエラーが発生することがある。これは、QCにもあるんだけど、おいらも見事にはまってしまった。


おいらの場合、BCB6で作った自作ライブラリをBDS2006が参照していた為。それも、自作ライブラリがSTLを使っている場合。
STLの実装がBCB6はSTLportであるのに対し、BDS2006になってからDinkumwareに変更。STLPMT.libはSTLPortが使用しているライブラリ(メモリマネージャか何か?)なので、当然、BDS2006には無い。


そうでないライブラリは問題なくリンクできるので、自作ライブラリを作っている人は注意しましょう。
BCB6とBDS2006を混在させている場合、自作ライブラリの出力フォルダとかファイル名をBCB6用とBDS2006用に分けた方がいいかも。そういえば、パッケージとかもそうなっていた気がする。例えばJVCLとか。