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或类似的东西混合在一起)。