0

Visual Studio 2010 を使用して C++ でプログラムを作成しましたが、WinXP を搭載した一部のコンピューターで実行すると、「MSVCP100.dll が見つからなかったため開始できません」と表示されます。

Windows に付属していない dll への依存を防ぐにはどうすればよいですか?

ありがとうございました。

4

2 に答える 2

1

これは Visual C++ のコア ランタイム ライブラリであるため、この依存関係を防ぐことはできません。代わりに、Visual C++ 2010 再頒布可能パッケージをアプリケーションに含めます (ほとんどの人は既にインストールしているため、通常は別のリンクで十分です)。

ただし、MSVCP100D.dll などの末尾に D が含まれる dll が原因で実際​​にプログラムを起動できない場合は、プログラムをリリース モードでビルドする必要があります。これにより、デフォルトでランタイムが非デバッグ バージョンに切り替わります。すべてのデバッグ バージョンまたはすべてのリリース バージョンがビルドに一致することを確認するために、プロジェクトに含める他の静的および動的ライブラリを慎重に除外する必要があります。

デバッグ バージョンを参照しているサブプロジェクトが見つからない場合は、depends.exe をダウンロードして実行し、exe ファイルを参照して確認できます。

于 2012-05-11T06:18:47.303 に答える