2

リリースされた.exeファイル(Visual Studio 2008で作成したもの)をVMWareWorkstation6.5でWindowsServer2008 32ビットOSを使用して開こうとすると、「サイドバイサイド構成が正しくないため、アプリケーションを起動できませんでした」というメッセージが表示されます。コードがそうである場合でも、常にエラーが発生します。

#include <stdio.h>

int main ()
{

  printf ("HELLO\n");

  return 0;
}

誰かがその問題の王に直面しているのですか、それともそれに対処する方法を知っていますか?

4

3 に答える 3

3

ランタイム サポート DLLを展開するのを忘れたか、プログラムのデバッグ ビルドをコピーした可能性があります。C++ クラスまたはポインターをエクスポートする DLL を使用しないこのような小さなプログラムの場合は、CRT の静的バージョンをリンクすることをお勧めします。プロジェクト + プロパティ、C/C++、コード生成、/MTd. リリース構成について繰り返し、/MT を選択します。

于 2010-08-05T13:23:29.327 に答える
0

VMWare とは何の関係もありません。C ランタイム用の正しい side-by-side アセンブリがインストールされていないことに関係しています。必要なものを把握してから、ランタイムをインストールする必要があります。マニフェストで制御することもできます。

ここにいくつかの情報があります

http://en.wikipedia.org/wiki/Side-by-side_assembly

(C/C++ プログラムの場合) これを回避する簡単な方法の 1 つは、C ランタイムへのリンクを静的に変更することです。プロジェクトのプロパティ、コード生成に移動し、C ランタイムの静的リンクを選択します。そうすれば、ランタイム dll に依存しなくなります。使用している可能性のあるすべてのライブラリは、機能するためにこの方法でリンクする必要があります。

于 2010-08-05T13:23:30.247 に答える
0

プログラムのビルドに使用された C/C++ ランタイムが VM にインストールされていない場合、通常、このエラーが発生します。Visual Studio 2008 SP1 用の CRT は、Microsoft の Web サイトからダウンロードできます。アプリのビルドに使用された Visual Studio のバージョンに基づいて、正しいバージョンの CRT をダウンロードしてください。

于 2010-08-05T13:23:46.910 に答える