Примеры Boost.Python, Windows 7 x64, «Ошибка импорта: ошибка загрузки DLL: указанный модуль не найден». - PullRequest
5 голосов
/ 13 ноября 2011

Последние 2 дня я провел, пытаясь запустить примеры из Boost.Python с ошибкой «ImportError: Ошибка загрузки DLL: указанный модуль не найден» при попытке загрузить скомпилированные (с помощью bjam) модули pyd. Я использовал Windows 7 x64, Python 2.7 x64 с Boost 1.47. Я следил за различными ответами на StackOverflow и других сайтах вкл. свежие установки (Python 32 и 64-битные, предварительно скомпилированные Boost), ручное создание библиотек Boost, проверка DLL с помощью обходчика зависимостей и так далее, без удачи. Я зарегистрировался, чтобы поделиться решением, которое сработало здесь и которое, я надеюсь, может кому-то помочь, борясь с той же ошибкой;)

Ответы [ 3 ]

4 голосов
/ 02 марта 2016

Два решения, нет необходимости использовать regedit

  1. добавить BOOST_PYTHON_STATIC_LIB Марко при сборке вашей DLL.Это даст статическую ссылку boost.python на ваш dll-файл, а не динамическую загрузку во время выполнения.
  2. добавьте dll boost.python в PATH или скопируйте его в тот же каталог, где находится ваша dll
2 голосов
/ 14 ноября 2011

Проблема была с обновлением KB2264107 для Windows (http://support.microsoft.com/kb/2264107), "связывался" с подпрограммой поиска DLL (исправление безопасности). Установка значения реестра [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager]: CWDIllegalInDllSearch в 0, разрешеноправильно загружайте файлы DLL и правильно импортируйте модули .pyd. Это также может происходить в других версиях Windows.

0 голосов
/ 27 июля 2017

мое решение - скачать Microsoft Visual C ++ 2015 распространять https://www.microsoft.com/en-us/download/details.aspx?id=48145

...