Развернутое приложение C ++ AMP перестает отвечать - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь развернуть приложение C ++ AMP на другом компьютере с Windows 7. Я попытался включить vcamp110.dll в ту же папку, а также скомпилированный с / MT избавиться от зависимости от msvcp110.dll и msvcr110.dll.

Также пробовал выпуск приложения для x64 и win32.

На компьютерах, на которых я пробовал его без установленной VS11, программа перестает отвечать на запросы. Я попытался провести простой тест с приложением hello world, и у меня там те же проблемы.

Файлы можно скачать здесь http://www.2shared.com/file/IofZlrJs/amptest.html (источник, двоичный файл и DLL).

Есть предложения, как это можно исправить?

1 Ответ

3 голосов
/ 16 марта 2012

Развертывания, подобные тому, который вы пробовали, определенно поддерживаются - полная информация здесь: 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. Самое главное, для всех ваших приложений, окружить ваш вызов 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 несовместим с этой версией среды выполнения». версия во время выполнения (либо смешивание битности, либо смешивание предварительного просмотра с бета-версией или что-то в этом роде).

...