1

C++AMPアプリケーションを別のWindows7マシンに展開しようとしています。同じフォルダにvcamp110.dllを含めようとしましたが、/ MTでコンパイルすると、msvcp110.dllとmsvcr110.dllへの依存関係がなくなります。

また、アプリケーションのx64リリースとwin32リリースの両方を試しました。

VS11をインストールせずに試したコンピューターでは、プログラムが応答しなくなります。hello worldアプリケーションを使用して簡単なテストを実行しようとしましたが、同じ問題が発生します。

ファイルは、ここhttp://www.2shared.com/file/IofZlrJs/amptest.html(ソース、バイナリ、およびdll)からダウンロードできます。

これを修正する方法について何か提案はありますか?

4

1 に答える 1

3

あなたが試したような展開は間違いなくサポートされています - 詳細はこちら: http://blogs.msdn.com/b/nativeconcurrency/archive/2012/03/12/deploying-apps-built-with-c-amp.aspx

自分が直面している問題を診断するためにできることがいくつかあります。

  1. vcamp110.dll のビット数はアプリのビット数と一致する必要があるため、一方の 32 ビットは他方の 32 ビットを意味します。
  2. 中央の場所 (system32 など) に vcamp110.dll の他のインスタンスがないことを確認します。
  3. デバッガーをアタッチし、読み込まれる DLL とスローされる例外を確認します。
  4. 最も重要なのは、すべてのアプリで、parallel_for_each 呼び出しを try…catch で囲み、取得している runtime_exception を確認することです。C++ AMP 例外の詳細については、http: //blogs.msdn.com/b/nativeconcurrency/archive/2012/02/01/c-amp-runtime-exceptions.aspxを参照してください。

あなたが共有した特定の再現について、クリーンな Windows 7 マシンのデバッガーの下でそれを試してみましたが、実際に rutime_exception がスローされています:「parallel_for_each のバイナリは、このバージョンのランタイムと互換性がありません。」、これは、ランタイムのバージョンが一致していないことを示します (ビットネスを混合するか、Developer Preview と Beta を混合するか、またはそのようなもの)。

于 2012-03-16T00:58:15.663 に答える