Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

ほんの少し、自由になれた

先週BookSync Beta 1を出した後、いくつかのバグをつぶし、今日マニュアルを加筆して無事、BookSync Version 2.60正式版をリリースした。
日記等の移行があったり、MulSync作ったり、地震があったりと機を逃していたら半年振りの正式版リリースになってしまった。

これで、自分がメンテナンスを続けているプログラムでMFCを使っているものがなくなった。
ということはVisual Studio Express Editionでも良くなったということである。


本当にそうなのか、ソースをVisual C++ 2005 Express Edition + Windows SDK 7.0がある環境に持ち込んで試してみることにした。
Visual Studio 2008でプロジェクトを作成していたので、プロジェクトファイルのVisualStudioProject要素のVersion="9.00"とあるところを8.00に直し、
ソリューションのFormat Version 10.00とあるところをFormat Version 9.00に直してVisual C++ 2005 Express Editionに読み込ませてみた。

コンパイルしてみると、デフォルトで指定されたライブラリの数が違うので、リンカでエラーが出た。

次に、足りないライブラリの指定を補ってコンパイルすると、リリース版は問題なく作成できるが、デバッグ版ではuuid.libのデバッグ情報が壊れていますと出て、リンカでエラーが出た。

こいつはおかしいと思って調べてみたら、Visual Studio 2005と2008の間の互換性問題によって現象が発生することがわかった。
http://support.microsoft.com/kb/949009/jaからたどれるページにある修正プログラムをインストールすることで、Visual C++ 2005 Express Edition + Windows SDK 7.0でBookSync Version 2.60をコンパイルすることができた。

これで、MFC及び有償版Visual Studioから自由になれたというものである。

ちなみに、できるバイナリのサイズはVisual Studio 2008でコンパイルしたものの方が小さかった。それに、Visual Studio 2008にはいくつかの拡張機能を入れているので作業効率もVisual Studio 2008の方が上である。
というわけで、常用するのは依然Visual Studio 2008である。

逆に言うなら、拡張機能なしのVisual Studioだと特にC++ではExpress Editionと比べてそれほど差がつかないということでもあるわけだ。