Visual Studio 2005で作ったプログラムで、起動時に「msvcr80.dll」が要求される。

Visual Studio 2005で、MFCや.NET Framework等を使用せずに、
Win32APIだけを使っている場合でも、外部DLLが要求されることがある。

対処としては、再頒布パッケージをインストールする方法と
コンパイルオプションを変える方法がある。
再頒布パッケージについては、Microsoftのサイトから
ダウンロードできるようなので、それが使用でる。
ただ、Visual Studio 2005のSP無しとSP1でも
DLLの内容が変わっているらしく、注意が必要。

ダウンロードの詳細 : Visual C++ 2005 再頒布可能パッケージ (x86)
http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=ja

また、コンパイルオプションの変更としては、「C/C++」の「コード生成」の欄で
「ランタイム ライブラリ」の値を、Release版なら、「マルチスレッド (/MT)」に
変えることで、解決できる。
自分の感覚としては、Visual Studio 2005で作成したプロジェクトは、
初期値が「マルチスレッド DLL (/MD)」になっていると感じた。
だけど、Visual Studio 2005以前で作成したものを変換してやった場合、
初期値が「マルチスレッド (/MT)」になっていると感じた。

VisualC++2005再頒布可能パッケージ - MSDN フォーラム
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1623968&SiteID=7

まぁ、この件に関してですが、正直、Win32APIで書いてるのに
DLLが必要とか、わざわざWin32APIで書いてる意味がないと思う。

一応、タイピングソフトについて確認してみたけど、
コンパイルオプションは大丈夫だったので、問題ないと思います。

Posted at : 2007-06-02 11:25:55 / Category : none

Comments

まだコメントはありません / No comment.

Send comment


Name


Mail-address (empty is OK. If you want to notify update, please fill mail-address.)


Bot check code (240505 と入力してください / Please input 240505.)