opencv_core245.dll & opencv_ml245.dll отсутствует

618
Jessica Chambers

Я пытаюсь установить некоторые важные программы, связанные с моей работой (в Windows 10), но когда я пытаюсь запустить его, появляется сообщение об отсутствии opencv_core245.dll и opencv_ml245.dll.

Я попробовал поискать в Google, но единственными результатами, которые я получил, были хитрые сайты и некоторые вирусы.

Как я могу исправить эту проблему?

РЕДАКТИРОВАТЬ: Программное обеспечение, которое я пытаюсь запустить, является приложением TITARL, найденным здесь

1
Программное обеспечение должно предоставлять свои зависимости, поэтому они должны по крайней мере упомянуть, как его где-то получить (README.txt?), Если они не связывают его. T Nierath 6 лет назад 1
@TNierath Я искал README.txt, там ничего нет, хотя есть некоторые контактные данные ... Я оставлю их в качестве последнего средства Jessica Chambers 6 лет назад 0
Как говорится в ответе, opencv - это хорошо известная библиотека. Вы можете попробовать проверить, предоставляют ли они сборки с подходящим номером версии (2,45?). Но когда дело доходит до двоичной совместимости, окна довольно грязные, поэтому DLL обычно поставляются с самим двоичным файлом. Удачи. T Nierath 6 лет назад 0

1 ответ на вопрос

0
Anaksunaman

Появляется ошибка, говорящая об этом, opencv_core245.dllи она opencv_ml245.dllотсутствует.

Они связаны с библиотекой OpenCV (Open Source Computer Vision). Вы можете попробовать установить это в первую очередь.

Замечания по установке

  • Средство извлечения OpenCV для Windows (в настоящее время упаковано как .exe) будет запрашивать путь для извлечения при запуске. opencvПапка создается автоматически в этом месте.

  • В широком смысле, не должно иметь значения, где вы решили извлечь эти файлы. Однако ваша программа может иметь особые требования (которые вам нужно будет проверить) в отношении размещения отсутствующих DLL-файлов.

  • Некоторые программы могут требовать, чтобы путь к библиотеке был определен в их настройках, в то время как другие могут требовать, чтобы вы вручную помещали файлы, например, в их программную папку (и) (или другие места). Вам нужно будет подтвердить, какой из этих вариантов применим, через документацию к вашей программе или дальнейшие исследования.

  • OpenCV поставляется с рядом builds. Вы должны сопоставить «битность» выбранных вами библиотек .dll с «битностью» вашей программы (то есть 32-битной или 64-битной).

TITARL

Для TITARL недостающие .dll должны быть помещены в ту же папку, что и TITARL.exe:

Размещение OpenCV DLL - Скриншот

opencv_core245.dll А также opencv_ml245.dll

К сожалению, OpenCV 2.4.5 (и эти .dll) больше не кажутся легко доступными в виде предварительно скомпилированных двоичных файлов. Однако библиотека OpenCV 2.4.5 по-прежнему доступна в виде исходного кода из официального репозитория GitHub. Недостающие .dll должны быть скомпилированы из этого исходного кода перед запуском программы.

Если вы доверяете незнакомцам в Интернете, я собрал для вас 64-битные версии этих двух .dll . Казалось, они правильно работают с example_learning.batпредоставленным TITARL. Тем не менее, они не были тщательно проверены каким-либо образом.

Предостережения

  • Эти .dll были созданы с помощью Visual Studio 14 (2015) в Windows 7 без поддержки Python.

  • Поддержка FFmpeg и DirectShow была включена в параметры сборки, но напрямую не тестировалась.

  • Никаких других .dll не было построено кроме opencv_core245.dllи opencv_ml245.dll.

Если вы решите попробовать их и столкнетесь с проблемами (например, необъяснимым поведением или другими проблемами), вам может понадобиться просто скомпилировать их. Я даю обзор шагов, которые я предпринял ниже.


Руководство по миникомпиляции для Visual Studio

Основываясь на этом общем руководстве по компиляции OpenCV 3 с Visual Studio, которое вы упомянули в комментариях, следующие шаги должны позволить вам получить хотя бы минимально работающую установку TITARL путем создания необходимых отсутствующих DLL-файлов.

подготовка

  1. Загрузите и установите Microsoft Visual Studio Community Edition (бесплатно). Они также имеют более старые версии, в зависимости от ваших потребностей. Имейте в виду, что для старых версий в настоящее время требуется доступ к бесплатной учетной записи Dev Essentials .

  2. Скачайте и установите CMake . CMake - это утилита, которая помогает компиляции пройти немного проще и OpenCV 2.4.5. имеет необходимые файлы для работы с ним.

  3. Загрузите и извлеките исходный код, связанный ранее (если вы еще этого не сделали). Где вы извлекаете исходный код - ваш выбор.

  4. Предполагая, что CMake установлен, откройте графический интерфейс (например, с помощью значка на рабочем столе).

  5. Вверху главного окна введите путь к исходному коду в первом поле. В дополнительном поле чуть ниже, добавьте путь, где вы хотели бы хранить файлы, связанные с компиляцией (расположение этого второго пути на ваш выбор). На всех этих этапах я буду использовать папку с именем build, расположенную в том же каталоге, что и исходный код:

    CMake/OpenCV Build Directory - Screenshot

  6. После ввода этих путей нажмите кнопку « Настроить» в нижней части главного окна. Новое диалоговое окно должно появиться.

  7. В этом диалоговом окне выберите правильный «генератор» для ваших .dll. Для Visual Studio это будет имя издания, за которым следует либо ничего (что создает 32-разрядные двоичные файлы), либо Win64(что создает 64-разрядные двоичные файлы). TITARL - это 64-битная программа ( TITARL 1.7 [Win x64 - Public release]), поэтому вы можете выбрать, например, Visual Studio 14 2015 Win64или Visual Studio 15 2017 Win64создать соответствующие 64-битные .dll:

    CMake Generator - Visual Studio 14 2015 Win64 - Screenshot CMake Generator - Visual Studio 15 2017 Win64 - Screenshot

  8. Нажмите Finish, чтобы закрыть диалоговое окно. CMake автоматически начнет обработку исходного кода OpenCV 2.4.5. В главном окне кнопка « Настройка» изменится на кнопку « Стоп», а кнопки « Генерирование ...» и « Открыть проект ...» рядом с ней будут выделены серым цветом. Обратите внимание, что эта первоначальная обработка может занять несколько минут.

  9. Как только эта обработка будет завершена, верхняя панель в главном окне CMake будет отображать большое количество информации красным цветом (это новые обнаруженные опции). Нижняя панель должна гласить «Конфигурирование выполнено»:

    CMake Initial Processing Completed

  10. Найдите параметры сборки, помеченные BUILD_opencv_*(где *такое имя, как apps). Все они должны быть в одном блоке. Снимите флажок рядом с каждым элементом, исключая BUILD_opencv_coreи BUILD_opencv_ml. Нажмите Настроить снова. После обработки заканчивается еще раз, нажмите кнопку Generate ... . После завершения главное окно CMake должно выглядеть примерно так:

    CMake - Ready To Visual Studio Edit Solution - Screenshot

Исправление OpenCV 2.4.5

Обычно на этом этапе все будет готово для компиляции недостающих .dll. Тем не менее, OpenCV 2.4.5. имеет общую проблему с Visual Studio 12+, где он генерирует большое количество "max" : is not a member of "std"ошибок, которые препятствуют созданию необходимых DLL-файлов.

К счастью, как подробно описано в ответе на этот вопрос StackOverflow, компиляция может быть достигнута с небольшими изменениями исходного кода.

Чтобы исправить эту проблему:

  1. Найдите OpenCV.slnрешение, сгенерированное CMake ранее (например, под C:\path\to\opencv-2.4.5\build).

  2. Дважды щелкните файл, чтобы открыть его в Visual Studio. Поскольку это, вероятно, первый раз, когда вы открыли это решение, Visual Studio может потребоваться минута или две, чтобы полностью проанализировать его. Посмотрите на синюю полосу активности в нижней части главного окна Visual Studio и подождите, пока она не скажет «Готово», прежде чем продолжить.

  3. Когда Visual Studio установится, нажмите Ctrl+, Hчтобы открыть диалоговое окно « Найти и заменить », а затем выполните следующие действия:

    • Под Find what:входом #include \<string\>.
    • Под Replace with:входом #include <algorithm>\n#include <string>.
    • Набор Look inдля Entire Solution(в случае необходимости).
    • Под Find options, убедитесь, Use Regular Expressionsчто помечено.
    • Нажмите Заменить все, когда закончите.

      Visual Studio Solution Replacement Dialog - Screenshot

составление

После того, как все вышеперечисленные шаги выполнены, вы должны быть готовы к компиляции с CMake. Откройте окно командной строки в вашем buildкаталоге (например C:\path\to\opencv-2.4.5\build) и введите, например:

C:\path\to\cmake.exe --build . --config Release --target INSTALL 

Через короткое время (до 15 минут) компиляция должна быть завершена, а недостающие .dll должны быть доступны в install\binпапке buildкаталога (например C:\path\to\opencv-2.4.5\build\install\bin). Как отмечалось ранее, .dll в этой папке необходимо поместить в ту же папку, что и TITARL.exe.


Главные примечания

  • Выполнив описанные выше шаги, я не столкнулся с серьезными ошибками, кроме необходимости исправления кода в Visual Studio. Однако я не пытался собрать всю библиотеку.

  • Не каждый шаг, представленный здесь, точно отражает шаги, указанные в ссылках руководства. Вы можете обратиться к этим ссылкам для получения дополнительной информации.

Visual Studio Notes

  • Visual Studio может быть большой установкой и может нуждаться в самостоятельной настройке. Поэтому этап подготовки 1 может занять больше времени, чем вы думаете.

  • Если вы планируете возиться с поддержкой Python в OpenCV, возможно, потребуется установить Visual Studio Python Tools for Visual Studioвместе с его поддержкой Visual C++.

  • Желтые предупреждающие сообщения во время компиляции часто можно игнорировать. Красные сообщения об ошибках, с другой стороны, указывают на проблемы, которые приведут к сбою сборки (т. Е. Не будут создаваться DLL-файлы). Однако это не то же самое, что потенциально «безопасные» красные ошибки, которые CMake генерирует ниже.

CMake Notes

  • CMake /не использует \пути Windows в своем интерфейсе GUI. Тем не менее, вставленные пути должны быть автоматически \переключены /.

  • Если вы не хотите вводить полный путь к cmake.exeпоследнему шагу компиляции, выберите опцию, чтобы добавить CMake в ваш PATH во время его установки.

  • Опция для сборки .dll с поддержкой Python в CMake требует шагов, которые здесь не перечислены.

  • Подготовка Шаг 7 может привести к созданию неправильных двоичных файлов, если вы выберете неправильный генератор (то есть 32-битные .dll не будут работать с 64-битной программой). Однако, оставив переключатели, как и Use default native compilersдолжно быть хорошо.

  • Если вы допустили какие-либо ошибки в CMake и т. Д., Просто удалите buildпапку и начните заново с шага 4 подготовки.

  • В CMake с приведенными шагами красные «ошибки» в интерфейсе, похоже, не вызывали серьезных проблем. Тем не менее, вероятно, стоит вообще отметить любую ошибку или предупреждение, с которым вы столкнулись.

  • Если есть какие-либо серьезные проблемы, настройка не будет завершена, и будет записан журнал ошибок.

Когда я скачал его, куда мне извлечь файлы? Это имеет значение? Jessica Chambers 6 лет назад 0
Извиняюсь. В широком смысле это не должно иметь значения - везде, где вы считаете, в целом подходит. Я был бы соблазн положить его куда-нибудь с моими другими программами или библиотеками (исполняемый экстрактор автоматически создает папку `opencv`). Anaksunaman 6 лет назад 0
Тем не менее, для вашей программы она может либо указать путь к библиотеке, либо потребовать, чтобы соответствующие DLL-файлы были помещены в одну (или более) из ее программных папок. Если вам нужно разместить их вручную, скорее всего, целевой папкой является корневая папка или любая другая папка `bin`. Однако это предположение. Возможно, вам придется перечитать документацию по вашей программе или провести дальнейшие исследования. Обратите внимание, что вам следует использовать x32 (32-разрядную) или x64 (64-разрядную) версии этих DLL-файлов в зависимости от «разрядности» программы, которую вы пытаетесь запустить (т.е. снова 32-разрядная или 64-разрядная). ). Anaksunaman 6 лет назад 0
Хорошо, я установил openCV (следовал этому руководству: https://www.learnopencv.com/install-opencv3-on-windows/) и все еще не повезло. Я закончил тем, что спустился в кроличью нору установок, включая dlib и MSBuild. В документации нет информации о требованиях и т. Д. Jessica Chambers 6 лет назад 0
Если у вас продолжают возникать проблемы, вы можете рассмотреть возможность добавления еще нескольких деталей о том, какие программы вы используете (если возможно) и как (то есть, что бы вы хотели сделать с ними или с ними). Anaksunaman 6 лет назад 0
Это, наверное, самое простое решение, я отредактирую вопрос, чтобы включить программное обеспечение Jessica Chambers 6 лет назад 0
Я обновил свой ответ. Если у вас уже есть встроенные .dll, просто поместите их в основную папку с помощью `TITARL.exe`. Если нет, я предоставил некоторые из них, которые могут (или не могут) подойти для вас. Я также попытался перевести руководство, на которое вы ссылались, во что-то более подходящее для вашей ситуации (если по какой-то причине вам нужно скомпилировать эти DLL-файлы самостоятельно). Anaksunaman 6 лет назад 0
О, черт возьми, большое спасибо! Я думаю, мне придется скомпилировать его самостоятельно, так как он работает с примером файла .bat, но TITARL.exe по-прежнему имеет некоторые проблемы (окно терминала появляется, а затем быстро исчезает) Jessica Chambers 6 лет назад 0
Пожалуйста. =) Сборка себя, вероятно, будет лучше всего. Anaksunaman 6 лет назад 0

Похожие вопросы