マルチスレッド実行時の iostream 問題の続き

id:logion:20060727#p1 で書いた問題のその後ですが、どうやら解決への糸口を見つけることができたかも知れません。

とり急ぎ、解決策(と思われる手順)はこちらになります。

  • C:\Program Files\Borland\BDS\4.0\include\dinkumware\yyvals.h の 345行目、 _IOSTREAM_OP_LOCKS の値を 0 から 1 にする。
  • C:\Program Files\Borland\BDS\4.0\source\cpprtl\readme の記述を参考に、ランタイムライブラリをビルドし直す。(Path の設定後、バッチファイルを実行するだけ)
  • C:\Program Files\Borland\BDS\4.0\source\cpprtl\lib\ の下にできあがった cp32mt*.lib, cw32*.lib を C:\Program Files\Borland\BDS\4.0\Lib\ に上書きコピーする。
  • 同じく cc3270*.dll を C:\WINDOWS\SYSTEM32\ に上書きコピーする。

(実際に試す場合は、もとのファイルのバックアップをちゃんと取ってから行って下さい)