1

我試圖將C++ AMP應用程序部署到另一臺Windows 7計算機。 我試圖將vcamp110.dll包含在同一個文件夾中,並且還使用/ MT編譯了msvcp110.dll和msvcr110.dll。已部署的C++ AMP應用程序停止響應

也嘗試了應用程序的x64和win32版本。

在計算機上,我試過它沒有安裝VS11,程序停止響應。 我試圖用hello world應用程序做一個簡單的測試,並且我在那裏也遇到同樣的問題。

這些文件可以從這裏下載http://www.2shared.com/file/IofZlrJs/amptest.html(源代碼,二進制文件和dll)。

有關如何解決這個問題的任何建議?

回答

3

部署像你試過肯定是支持的一個 - 全部細節在這裏: http://blogs.msdn.com/b/nativeconcurrency/archive/2012/03/12/deploying-apps-built-with-c-amp.aspx

有一些事情可以做,來診斷問題你都面臨着自己:

  1. 的位數vcamp110.dll必須匹配你的應用程序的位數,所以32位爲一個意味着另一個32位。
  2. 確保在某些中央位置沒有其他vcamp110.dll實例(例如system32)
  3. 附加一個調試器並查看加載了哪些DLL以及引發了哪些異常。
  4. 最重要的是,對於所有應用程序,使用try ... catch包圍您的parallel_for_each調用,以查看您獲得的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二進制與此版本的運行時間不兼容「,這表明運行時版本不匹配(混合比特或將開發人員預覽與Beta或類似的東西混合在一起)。