Windows XPで大きくて複雑なCアプリケーションを作成しました。現在、64ビットのWindows 7マシンで再コンパイルしています。特定の実行可能ファイルを実行すると、次のエラーが発生します。
コンピューターにMSVCP71.dllがないため、プログラムを開始できません。プログラムを再インストールして、問題を修正してください。
どうやらこれはウィンドウに付属していた.dllですが、現在は付属していません(特にこの MSDNフォーラム およびこれ 以前のスタックオーバーフロー の質問を参照してください)。
おそらく私はこれを生成する必要がありますDLL Microsoft Visual C++から、「マージモジュールから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であり、すべてがスムーズに実行されます。
このファイルのリリースされたダウンロード可能な再配布可能ファイルはありません。マージモジュールのみがCDで提供されます。プログラマーは、これらのマージモジュールをセットアッププログラムに埋め込むか、プログラムのインストールフォルダーにファイルを抽出する必要があります。 これはWindowsロゴ要件の違反であるため、このファイルはSystem32向けではありません 。
Visual C++ツールチェーンを使用していないため、MS-STL依存関係には、作成者が適切なセットアッププログラムを提供していないサードパーティコンポーネントが付属しています。ただし、他の製品からdllを取得できますが、ファイルを顧客に再配布できるようにするには、再配布権限を明示的に付与する製品が必要です。このような再配布の権利はVisual C++ 2003に付属しており、おそらくInstallShield Xと他のインストールパッケージオーサリングソフトウェアに付属しています。
SQL Server 2005、.Net 1.1ランタイムまたはそのSDK、Crystal Report 10など、ファイルに依存する他の製品からコンポーネントのファイルを取得できるかどうかを評価するために提案します。バージョンの不一致に注意してください。コンポーネントがSP1以降のMSVCP71.dllエディションを必要とする場合、RTMエディションでは機能しない可能性があります。
マイクロソフトからのリンクはありませんが、 ここ からダウンロードできます(リンクが修正され、正しいファイルを指すようになりました)。
C:/Windows/SysWOW64
(64ビット)またはC:/Windows/System32
(32ビット)に移動します
これが利用可能な別のダウンロードです: http://www.addictivetips.com/windows-tips/fix-msvcp71-dll-and-msvcr71-dll-missing-error-in-windows-7/
これが機能するかどうかはわかりませんが、MS VC++の再インストールまたは更新Runtimeで解決されます( Microsoftダウンロードセンター )。
MS Office、Oracleクライアント、SQL開発者はすべてmsvcp71.dllを持っています。 PCに既にコピーが見つかりました。信頼できないウェブサイトからダウンロードする必要はありません。
ファイルmsvcp71.dllをC:\ Oracle\product\10.2.0\Client_4\oui\lib\win32\msvcp71.dllからコピーし、C:\ winnt\system32フォルダー内のファイルを通過させれば機能します。