Estoy intentando implementar una aplicación C ++ AMP en otra máquina con Windows 7. Intenté incluir el vcamp110.dll en la misma carpeta, y también compilé con / MT para deshacerme de la dependencia en msvcp110.dll y msvcr110.dll.

También probé la versión x64 y win32 de la aplicación.

En las computadoras en las que lo probé sin VS11 instalado, el programa deja de responder. Traté de hacer una prueba simple con la aplicación hello world y tengo los mismos problemas allí.

Los archivos se pueden descargar desde aquí http://www.2shared.com/file/IofZlrJs/ amptest.html (fuente, binario y dll).

¿Alguna sugerencia sobre cómo se puede solucionar esto?

1
user978281 15 mar. 2012 a las 18:07

1 respuesta

La mejor respuesta

Las implementaciones como la que probó son definitivamente compatibles; detalles completos aquí: http: / /blogs.msdn.com/b/nativeconcurrency/archive/2012/03/12/deploying-apps-built-with-c-amp.aspx

Hay algunas cosas que puede hacer para diagnosticar el problema al que se enfrenta:

  1. El valor de bits de vcamp110.dll debe coincidir con el valor de bits de su aplicación, por lo que 32 bits para uno significa 32 bits para el otro.
  2. Asegúrese de que no haya otras instancias de vcamp110.dll en alguna ubicación central (por ejemplo, system32)
  3. Adjunte un depurador y vea qué DLL se cargan y qué excepción se lanza.
  4. Lo más importante de todo, para todas sus aplicaciones, rodee su paralelo_para_cada llamada con try ... catch para ver qué runtime_exception está obteniendo. Puede encontrar más información sobre las excepciones de AMP de C ++ aquí: http://blogs.msdn.com/b/nativeconcurrency/archive/2012/02/01/c-amp-runtime-exceptions.aspx

Para la reproducción específica que compartiste, lo probamos en el depurador en una máquina limpia con Windows 7 y, de hecho, se lanza una excepción rutime_exception: "El binario para el paralelo_para_each es incompatible con esta versión de tiempo de ejecución", lo que indica una versión de tiempo de ejecución no coincidente ( ya sea mezclando bitness o mezclando Developer Preview con Beta o algo así).

3
random 6 oct. 2012 a las 18:08