0

従来の msv2005 C++ プロジェクト ライブラリ (dll) があります。msvs2008がインストールされ、コードが正常にコンパイルされたWindowsXPワークステーションでプロジェクトを開きました。しかし、実行可能モジュールで使用しようとすると、「my-library.dll またはその依存関係の 1 つが見つかりませんでした」というメッセージが表示されます。

Dependency Walker から、MSVCP80.DLL、MSVCR80.DLL、MSVCR90D.DLL が見つからないことがわかりました。MSJAVA.DLL も欠落しています。2008 Visual C++ 再頒布可能パッケージをインストールしましたが、問題が残ります。必要なライブラリが System32 フォルダーに配置されていませんでした。

この問題を回避するには、ワークステーションに何をインストールする必要がありますか、またはプロジェクト構成で何をトリックする必要がありますか?

前もって感謝します!

4

3 に答える 3

5

数年前にその不幸な恐怖が解き放たれて以来、サイドバイサイドアセンブリの繰り返しの犠牲者として、私はこれに定期的に対処しなければなりませんでした。@Fredericは、インストーラーを使用して再配布可能ファイルをインストールするのが理想的ですが、他の問題も発生する可能性があります。

そうは言っても、Vista / Windows7マシンにアクセスできる場合は、sxstraceを使用できます。これは、これらの問題を追跡するための直感的でないツールです。そのツールを使用して生成された情報を使用して、アプリが探しているものを正確に把握できます。

  1. コマンドラインでこれを実行します

    sxstrace.exe -logfile:sxstrace.st

  2. アプリを起動してエラーを取得します

  3. 次に、Enterをクリックしてトレースを停止します
  4. ここで入力します:

    sxstrace parse -logfile:sxstrace.st -outfile:sxstrace.txt

  5. これで、出力ファイルを見て、アプリの実行時に何が起こったかを正確に確認できます。

ソース: http: //blogs.msdn.com/b/junfeng/archive/2006/04/14/576314.aspx

また、これらの問題のトラブルシューティングに役立つmsdnに関するこの記事を参照することをお勧めします:http://msdn.microsoft.com/en-us/library/ms235342(VS.80) .aspx

于 2010-10-19T22:12:56.617 に答える
3

レガシ コードは Visual Studio 2005 (8.0) でコンパイルされているため、 Visual C++ 2005 Redistributable PackageまたはVisual C++ 2005 SP1 Redistributable Packageのいずれかをインストールする必要があります。

コードが VS 2005 SP1 でコンパイルされている場合は、SP1 再頒布可能パッケージを使用してください。

于 2010-10-19T21:41:10.757 に答える
2

2008 Visual C++ 再頒布可能パッケージをインストールしましたが、問題は残ります。

再配布はどこから入手したのですか?

redist にはさまざまなバージョンがありますが、MSVC に付属しているバージョンが適切なバージョンである可能性が最も高いです。ただし、ATL のセキュリティ更新など、発生したことがたくさんあるため、確認する必要があるのは、マニフェストに存在するバージョン番号情報であり、インストールする適切なバージョン (またはそれ以降) を見つけます。

また、別のマシンでライブラリのデバッグ ビルドを使用する場合は、デバッグの再配布が必要になることに注意してください。

于 2010-10-19T22:06:24.777 に答える