Windows Vista 問題改め msvcr8x, msvcr9x 問題 ― 2008年03月07日 02時12分42秒
当初、MinGw でコンパイルした namazu.exe が Windows Vista で正常動作しないため、Vista 問題としていました msvcr8x 問題ですが、Visual C++ 2008 でコンパイルするとどうなるか確認してみました。
VC++ 2008 でコンパイルしたバイナリは msvcr9x に依存します。 この msvcr9x も msvcr8x 同様の不具合が生じました。 このため、VC++ 2008 もそのままでは namazu.exe のコンパイルには使えそうにありませんでした。
VC++ と msvcr のバージョンの関係は次の通りです。
- Visual C++ 6.0 は msvcr60
- Visual C++ .NET は msvcr70
- Visual C++ .NET 2003 は msvcr71
- Visual C++ 2005 は msvcr8x
- Visual C++ 2008 は msvcr9x
namazu.exe で不具合が生じるのは msvcr[80]x です。 このため、VC++ .NET 2003 以前でスタティックリンクすればこの問題を回避できます。 このため、今のところ VC++ 6.0 でコンパイルしています。
コメント
トラックバック
このエントリのトラックバックURL: http://namazu.asablo.jp/blog/2008/03/07/2705411/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
_ ナマズのブログ - 2008年03月07日 23時10分29秒
msvcr[89]x 問題ですが、この CRT のソースは VC++ に付いています。
(エディションにもよりますが)
それで少しソース見てみると、VC8 の wild.c はこのようになっていました。
(VC9 も同等)
(エディションにもよりますが)
それで少しソース見てみると、VC8 の wild.c はこのようになっていました。
(VC9 も同等)
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。