VC++2010を使ってWindows 2000対応ソフトをコンパイルする方法
Visual Studio 2010で作ったプログラムがWindows 2000で動かないというのは有名な話ですが、解決してみました。
MS11-025 を入れると 98/Me/NT/2000でソフトが動かなくなる件 その2
昨日の記事の改良版を作成しました。(昨日のライブラリの利用規約がデフォルトだった場合にXPでプログラムが動かないことがある不具合があったので、そちらも修正しました)
まず、
#include "commonfix.h" をメインプログラムに追加して、
SDKの場合はinitialize_findacx()を WinMainの先頭に、
MFC(ANSI版)の場合は、 エントリーポイントをWinMainCRTStartup から、WinMainCRTStartup2に変更します。
UNICODE版の場合は、 エントリーポイントをwWinMainCRTStartup から、wWinMainCRTStartup2に変更します。
kernel32.libで既に定義されてますなどのリンカエラーが出るようならば、クリーンビルドで、リコンパイルしてみて下さい。
ちなみに、共有DLLで動的リンクしてる場合は、WLUで公開しているWindows 2000用のランタイムをお使いください。
関連サイト:
VC++2010で作るバイナリを2000で | ゴミ捨て場
Windows 2000 Sotaの雑記/ウェブリブログ
Visual C++ 2010 では Windows 2000 向けのバイナリが作れない? | いちばんやさしいゲームの作り方
VC++10を使ってVC++9でビルド - 桜、抹茶、白、日記
MasterVC 3.7.0 beta2 - MOS.PrivateProduct
バーチャルWin2kでRuby1.9.2p136インストールに失敗する: つらつらぐさ
Visual Studio 2010 Express を入れてみた 圭佑の気まぐれ日記/ウェブリブログ
Visual C++ 2010 Express Editionの所感 - Desigeon blog
記事とは関係ないですが失礼します。
突然ですが、Vista付属のペイントをXPや7に移植(?)することは出来ますか?
exeを単体実行しても「新しいドキュメントを作成できません。」の一点張りなんですね・・・。(Win7x86)
うにゃ?
ちゃんと全部ファイルを定位置にコピーしましたか?
でないと動きませんよ。
ちなみにXPで動かすのは無理です
上の記事の通りにやると難なく動きました!
ありがとうございます!!
こんなあっさりとなら前から早く言うべきでした・・・。