15

これは、VC++ 2005 Express Edition でビルドしている実行可能ファイルで Dependency Walker が表示するエラーです。.exe を実行しようとすると、次のようになります。

This application has failed to start because the application configuration
is incorrect. Reinstalling the application may fix this problem.

(マニフェスト/SxS/etc. VC++ 2003以降のやり方は初めてです。)

編集:.exeを構築しているのと同じマシンで実行しています。イベント ビューアーには、役に立たないものがあります。

Faulting application blah.exe, version 0.0.0.0, faulting module blah.exe,
version 0.0.0.0, fault address 0x004239b0.
4

5 に答える 5

14

プロジェクトのプロパティシートを開き、[構成のプロパティ]-> [C / C ++]-> [コード生成]ページに移動し、ランタイムライブラリの選択を/MTまたは/MTdに変更して、プロジェクトでDLLランタイムライブラリが使用されないようにします。

VS2003以降で使用されるC/C ++ DLLランタイムは、最新バージョンのOSで自動的に配布されるわけではなく、この種の問題なしにインストールして動作させるのは非常に困難です。c-runtimeを静的にリンクし、マニフェストとバージョン固有のランタイムdllである全体的な混乱を回避します。

于 2009-01-06T15:01:12.570 に答える
5

古い質問にぶつかって申し訳ありませんが、私はこの正確な問題を回避することができ、他の誰かがそれを必要とする場合に備えて解決策を投稿すると思いました...

Microsoftの再配布可能なDLLをインストールした後でも、このエラーが発生していましたが、修正は、

C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

ターゲットPC上のアプリケーションのディレクトリにフォルダを配置します。その後、問題はありません。

ところで、私に問題を与えていたDLLは、100台を超える他のコンピューターでこれまで問題が発生したことのないサードパーティのDLLでした...図を見てください。

于 2009-07-07T15:51:15.170 に答える
4

私はこの問題を抱えていました。解決策には 2 つの手順があります。
1. 「デバッグ」モードではなく「リリース」モードでプログラムをコンパイルします (通常、ツールバーにコンボ ボックスがあり
ます)。32 ビット コンピューターの場合は x86 エディション、64 ビット コンピューター/OS の場合は x64 エディションをダウンロードしてください。このパッケージをターゲット コンピューターにインストールすると、アプリケーションが正常に動作するはずです。

PS これSxS のものです
PPS または、別のコンパイラ (GCC など、たとえば Dev-Cpp など) を使用してプログラムのソースをコンパイルすると、頭痛の種はなくなります。

于 2008-11-01T18:37:11.640 に答える
3

イベント ビューアーを実行します。詳細情報が表示されます。

おそらく、VC 再頒布可能パッケージがインストールされていないマシンでプログラムを実行しようとしたか、Visual Studio がインストールされていないマシンでデバッグ ビルドを実行しようとしています (デバッグ ライブラリはインストールされていません)。再配布可能)。

于 2008-10-31T16:27:13.697 に答える
1

他の winxp sp3 マシンの VS 2008 でビルドされたデバッグ バイナリでも同じ問題が発生しました。

  1. 最初に vc redist パッケージを使用してクライアント マシンをインストールしてみました。面倒なことに、うまくいきませんでした
  2. 依存するすべての dll をアプリケーションのディレクトリにコピーしようとしましたが、まだ機能しませんでした
  3. この問題に何時間も悩まされた後、最新の VS ビルドではマニフェストとポリシーを dll にリンクする必要があることがわかりました。それらをそれぞれの「C:\WINDOWS\WinSxS\」フォルダーにコピーした後、動作するようになりました。

この問題は、vc redist パッケージが dll のデバッグ バージョンをインストールしなかったために発生しました。

于 2010-06-20T01:03:40.437 に答える