1

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

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

На компьютерах, на которых я пробовал это на VSIT VSUT, программа перестает отвечать. Я попытался сделать простой тест с приветственным мировым приложением, и у меня такие же проблемы.

Файлы можно скачать 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 должен соответствовать биттичности вашего приложения, поэтому 32bit для одного означает 32bit для другого.
  2. Убедитесь, что в каком-либо центральном месте (например, system32) нет других экземпляров vcamp110.dll.
  3. Прикрепите отладчик и посмотрите, какие DLL-файлы загружены и какое исключение выбрано.
  4. Самое главное, чтобы все ваши приложения окружали ваш вызов parallel_for_each с помощью try ... catch, чтобы узнать, какое время выполнения вы получаете. Подробнее об исключениях C++ AMP можно найти здесь: http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/01/c-amp-runtime-exceptions.aspx

Для конкретного Repro вы поделились, мы старались, что под отладчиком на чистую Windows 7 машины и действительно rutime_exception выбрасывают: «бинарный для parallel_for_each несовместим с этой версией среды выполнения ». Это указывает на несогласованную версию среды выполнения (либо смешение битов, либо смешивание предварительного просмотра с помощью бета-версии или что-то в этом роде).

Смежные вопросы