Ejemplos de Boost.Python, Windows 7 x64, “ImportError: Error en la carga de DLL: no se pudo encontrar el módulo especificado”.

He pasado los últimos 2 días tratando de lanzar ejemplos desde Boost.Python con el error “ImportError: DLL load fail: No se pudo encontrar el módulo especificado”, al intentar cargar (utilizando bjam) los módulos pyd comstackdos. Estaba usando Windows 7 x64, Python 2.7 x64 con Boost 1.47. He seguido diferentes respuestas en StackOverflow y otros sitios incl. instalaciones nuevas (Python de 32 y 64 bits, Boost precomstackdo), construcción de bibliotecas de Boost manuales, chequeos de DLL con dependientes y así sucesivamente, sin suerte. Me registré para compartir la solución, que funcionó aquí y que espero pueda ayudar a alguien, luchando con el mismo error;)

Dos soluciones, sin necesidad de usar regedit.

  1. agrega BOOST_PYTHON_STATIC_LIB marco cuando construyas tu dll. Permitirá que boost.python enlace estático a su archivo dll en lugar de carga dinámica en tiempo de ejecución.
  2. agregue boost.python dll a PATH o cópielo en la misma dir.

El problema fue con la actualización de Windows KB2264107 (http://support.microsoft.com/kb/2264107), “error” con la rutina de búsqueda de DLL (solución de seguridad). Configuración del valor de registro [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager]: CWDIllegalInDllSearch en 0, que permite cargar correctamente los archivos DLL e importar correctamente los módulos .pyd. Esto también puede suceder en otras versiones de Windows.

Mi solución es descargar Microsoft Visual C ++ 2015 Redistribute https://www.microsoft.com/en-us/download/details.aspx?id=48145