13

Windows XP で大規模で複雑な C アプリケーションを作成しました。現在、64 ビット Windows 7 マシンで再コンパイルしています。特定の実行可能ファイルを実行すると、次のエラーが発生します。

コンピュータに MSVCP71.dll が見つからないため、プログラムを開始できません。問題を解決するには、プログラムを再インストールしてみてください。

どうやら、これは以前は Windows に付属していた .dll ですが、現在は付属していません (特に、このMSDN フォーラム以前のスタック オーバーフローの質問を参照してください)。

おそらく、Microsoft Visual C++ からこの DLL を生成し、「マージ モジュールから DLL を抽出する」必要があります。ただし、gcc、mingw、および make を使用しているため、Visual Studio への移行は避けたいと考えています。

インターネット上の未確認のソースからダウンロードできるこの dll のコピーは多数ありますが、Microsoft から直接ダウンロードできるものはありません。私は何をすべきか?Microsoft Visual C++ をインストールする必要がありますか? gcc と mingw でこれを行う方法はありますか?


更新: @Sheng Jiang 蒋晟のヒントは非常に重要でした。私が気付いていなかったのは、MSVCP71.dll への私の依存関係は、サード パーティの DLL へのリンクによってのみ発生するということでした。サード パーティの DLL を特定し、その DLL が配置された別のシステムで実行されている MSVCP71.dll のコピーを見つけることができました。これで、MSVCP711.dll をサード パーティの DLL と共に含めることができ、すべてがスムーズに実行されます。

4

4 に答える 4

10

このファイル用にリリースされたダウンロード可能な再配布可能ファイルはありません。CD では、マージ モジュールのみが提供されます。プログラマーは、これらのマージ モジュールをセットアップ プログラムに埋め込むか、ファイルをプログラムのインストール フォルダーに抽出する必要があります。このファイルは、Windows ロゴ要件に違反しているため、System32 向けではありません

Visual C++ ツール チェーンを使用していないため、MS-STL 依存関係にはサードパーティ コンポーネントが付属しており、その作成者は適切なセットアップ プログラムを提供していません。他の製品から dll を取得することもできますが、顧客にファイルを再配布できるようにするには、再配布権を明示的に付与する製品が必要です。このような再配布権は、Visual C++ 2003 と、おそらく InstallShield X およびその他のインストール パッケージ オーサリング ソフトウェアに付属しています。

評価提案の場合、SQL Server 2005、.Net 1.1 ランタイムまたはその SDK、Crystal Report 10 など、ファイルに依存する他の製品からコンポーネントのファイルを取得できます。バージョンの不一致に注意してください。コンポーネントが MSVCP71.dll の SP1 以降のエディションを必要とする場合、RTM エディションでは動作しない可能性があります。

于 2013-04-04T23:15:13.173 に答える
6

Microsoft からのリンクはありませんが、ここからダウンロードできます(リンクは修正され、現在は正しいファイルを指しています)。

C:/Windows/SysWOW64 (64ビット)または(32ビット)に移動しますC:/Windows/System32

別のダウンロードが利用可能です: http://www.addictivetips.com/windows-tips/fix-msvcp71-dll-and-msvcr71-dll-missing-error-in-windows-7/

これが機能するかどうかはわかりませんが、MS VC++ランタイムの再インストールまたは更新で問題が解決する可能性があります ( Microsoft ダウンロード センター)。

于 2013-04-04T21:25:04.857 に答える