Не удается загрузить dll cvextern не найден указанный модуль

Обновлено: 04.07.2024

При запуске или установке приложений в Windows возникает сбой — не найден указанный модуль dll. Что делать в этой ситуации, мы расскажем вам в данной статье. Многие оставляют попытки решить сбой ещё на начальном этапе. Но если вам важно продолжить установку или запуск программ, дочитайте статью до конца.

Ошибки с файлами dll

Рассматриваемая ошибка относится к проблемам с динамическими библиотеками Windows. Это особые «микропрограммы», которые могут быть полезными для всех устанавливаемых вами игр или программ. Файлы dll активно помогают приложениям обращаться к другим программам, записывать видео, отправлять документы на печать и т.д.

В динамической библиотеке огромное количество таких файлов и каждый имеет своё уникальное имя. Нередко в окне с ошибкой встречается надпись на английском dll load failed, что значит модуль (или dll файл) не смог загрузиться. И, конечно же, программа перестаёт работать. Решением ошибки во многих случаях является загрузка нового файла dll с его уникальным именем.

Отсутствие файла dll

Ошибка: отсутствие файла dll

Файл могут блокировать другие приложения, вирусы или антивирусы. Нередко причиной сбоя модулей становится файловый мусор и переполнение остатками ключей реестра. Могут стать причиной и «поломка» системного элемента.

Не найден указанный модуль в CS:GO — решение

Почему-то чаще всего ошибка появляется во многими любимом шутере CS:GO. Но решается она достаточно просто. Для этого нам нужно запустить Steam и найти игру в нашей библиотеке.

  1. Затем нужно ПКМ нажать на имя с игрой;
  2. В выпадающем списке выберите пункт Свойства;

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

Проверка на вирусную активность в системе

Не стоит отсекать вероятность появление вредоносного кода в компьютере. Многие вирусы могут долгое время не вызывать подозрения и собирать нужную информацию тайком, чтобы начать действовать эффективно. Рекомендуем проверить ваш компьютер дополнительными утилитами Kaspersky Removal Tool или Dr.WEB Cure It!.

Инструкцию для отключения найдите самостоятельно в интернете. Так как каждая программ требует для себя индивидуального подхода. Если при отключении антивируса вам удалось запустить/установить программу, значит вы нашли причину.

Отключение сторонних процессов

Для решения ошибки с отсутствием dll может понадобиться отключение сторонних процессов, которые нередко конфликтуют друг с другом. Вы даже представить себе не можете, насколько их много в вашем ПК. К конфликтным ситуациям часто причастны пустые и неправильные ключи реестра.

Все вместе эти проблемы поможет решить одна утилита — Autoruns. Её рекомендуют сами создатели Windows. И ссылка ведёт на официальный сайт Microsoft. Утилита очень проста в использовании. Вам нужно скачать её и запустить файл Autoruns, соответствующий разрядности вашей ОС. Открыть файл нужно сразу от имени администратора.

Файлы Autoruns

Файлы Autoruns для запуска утилиты

Каждая жёлтая строка с названием программы — это пути в реестре к несуществующим файлам.

Окно утилиты Autoruns с ключами реестра

Окно утилиты Autoruns с ключами реестра и процессами системы

С каждой нужно убрать галочку. Розовым фоном помечены файлы без цифровой подписи. Если вы его название вам не знакомо, то галочку с него лучше также убрать. Когда весь список будет обработан, закройте утилиту и перезагрузите ПК.

Восстановление файлов системы Windows

Очень эффективным средством для борьбы с любыми ошибками и отсутствием или неисправностью файлов Виндовс является загрузочный диск. То есть флешка либо CD-диск, с которого была установлена система. Для владельцев лицензионной ОС есть возможность обратиться за помощью в поддержку.

А для тех, кто вручную устанавливал свою систему нужно вставить диск в привод и перезагрузить ПК. Выполняйте те же действия, что и при установке. Но на этапе, когда появляется окно с вопросом Установить или восстановить, нужно выбрать второй способ. Можно попробовать другой метод, который не требует диска.

Восстановление Windows

Восстановление Windows

Откройте поиск в Windows или меню «Пуск» и запишите в строке «Командная строка». Открыть её необходимо от имени администратора.

Запуск командной строки Windows

Запуск командной строки от имени администратора

Затем следует записать команду, которая вернёт недостающие системе файлы. Записывайте её внимательно, иначе она не запустится: dism.exe /Online /Cleanup-image /Restorehealth.

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

Часто в тексте ошибки фигурирует название самого файла. Система указывает, что с данной микропрограммой проблемы. Её замена сможет помочь продолжить работу за ПК. Прописать их можно в поисковике, но не загружайте из неизвестных источников.

Есть несколько ресурсов, которые не станут распространять вредоносные файлы и рисковать репутацией:

Попробуйте загружать файлы с них. На каждом есть строка поиска, которой можно воспользоваться. Установка файлов происходит традиционным способом. После установки проверьте появление ошибки «Не найден указанный модуль dll». Если и сейчас она появляется, то скорее всего без переустановки системы не обойтись.

Невозможно загрузить DLL 'cvextern': указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)

Я добавил файл cvextern.dll в свой проект и попробовал опции «копировать всегда» и «копировать, если новее» в свойствах файла. также сборка на платформе x64.

вот частично то, что я написал:

и исключение находится в последней строке.

Ошибка, которую вы получаете не только до cvextern, эта dll на самом деле указывает почти на все остальные dll opencv, и все они обязательны. С этой ошибкой вам потребуются следующие dll в вашем проекте.

Обратите внимание, что «220» - это номер версии, который будет меняться в зависимости от обновлений.

  • cudart64_32_16.dll
  • cufft64_32_16.dll
  • cvextern.dll
  • npp64_32_16.dll
  • opencv_calib3d220.dll
  • opencv_contrib220.dll
  • opencv_core220.dll
  • opencv_features2d220.dll
  • opencv_flann220.dll
  • opencv_gpu220.dll
  • opencv_highgui220.dll
  • opencv_imgproc220.dll
  • opencv_legacy220.dll
  • opencv_ml220.dll
  • opencv_objdetect220.dll
  • opencv_video220.dll

Эта ошибка, наряду с другими, описана в моей статье о проекте кода здесь

Любые другие проблемы, дайте мне знать,

Эта ошибка появилась на моей стороне с Emgu CV 3.1 , и я нашел для этой проблемы следующее рабочее решение:

скопируйте cvextern.dll в каталог приложения \bin\Debug\

Надеюсь, это поможет.

для версии 2.3 список увеличивается с opencv_ffmpeg.dll и opencv_flann231.dll.

Файл cvextern.dll должен находиться в Windows \ System32 для x86 и Windows \ SysWOW64 для x64 это работа для меня. PS: я использовал пакет NuGet 'EmguCV' v3.1.0.1 с VS2015

Моя проблема, связанная с этой ошибкой, заключалась в том, что VS2015 выполнял веб-проект в 32-разрядной IIS Express. Исправление должно было обеспечить использование 64-разрядной IIS Express

Я добавил этот код при запуске, чтобы напомнить себе при настройке новой машины

в моем случае я переключился на цель 64 и не заметил, что переход на x86 заставил это уйти

Я прочитал и попробовал решения severa, которые я нашел в Интернете. Ничего не работает.

Я попытался использовать следующие методы:

Когда я попытался выполнить эту статью, и когда я запускаю этот пример (из загруженного кода), он запускается без проблем (используемая dll находится в bin/debug папка)

Я скопировал свою dll (вместе со всеми файлами в зависимости от моей папки bin).

Я также пробовал этот подход, но получил ту же ошибку:

Из того, что я помню в Windows, порядок поиска для dll:

  • Текущий каталог
  • Системная папка, C:\windows\system32 or c:\windows\SysWOW64 (для 32-разрядного процесса в 64-битной ячейке).
  • Чтение из переменной среды Path

Вы можете использовать инструмент dumpbin для поиска необходимых зависимостей DLL:

Это расскажет вам, какие DLL файлы должны загружать DLL. Особенно обратите внимание на MSVCR *.dll. Я видел, что ваш код ошибки возникает, когда не установлен Redistributable Visual С++.

В имени файла 120 = 12.0 = Visual Studio 2013.

Попробуйте ввести полный путь к dll.
Если это не сработает, попробуйте скопировать dll в папку system32.

DLL должна находиться в папке bin.

Убедитесь, что все зависимости вашей собственной DLL находятся рядом с dll или в System32 .

Я создал проект консольного приложения ConsoleApplication1 и проект библиотеки классов ClassLibrary1 .

Весь код, который делал p/invoke, присутствовал в ClassLibrary1.dll . Поэтому перед отладкой приложения из visual studio я просто скопировал неуправляемую сборку С++ ( myUnmanagedFunctions.dll ) в каталог \bin\debug\ проекта ClassLibrary1 , чтобы он мог быть загружен в среду выполнения CLR.

Я продолжал получать

ошибка в течение нескольких часов. Позже я понял, что все неуправляемые сборки, которые необходимо загрузить, необходимо скопировать в каталог \bin\debug стартового проекта ConsoleApplication1 , который обычно представляет собой форму выигрыша, консольное или веб-приложение.

Итак, будьте осторожны, Current Directory в принятом ответе фактически означает Current Directory основного исполняемого файла, с которого начинается процесс приложения. Похоже на очевидную вещь, но иногда это может быть не так.

Извлеченный урок. Всегда размещайте неуправляемые DLL в том же каталоге, что и исполняемый файл запуска, чтобы убедиться, что он может быть найден.

Сказав это; в моем случае с запуском dumpbin /DEPENDENTS , как было предложено @anthony-hayward, и копирование через 32-разрядных версий DLL, перечисленных там в моем рабочем каталоге, решило эту проблему для меня.

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

Убедитесь, что вы устанавливаете платформу Build Platform Target на x86 или x64, чтобы она была совместима с вашей DLL, которая может быть скомпилирована для 32-битной платформы.

В основном это строка DOS, и вы можете настроить ее на основе того, где строится ваша DLL.

У меня была такая же проблема, когда я развернул свое приложение для тестирования ПК. Проблема заключалась в разработке ПК с msvcp110d.dll и msvcr110d.dll , но не на тестовом ПК.

Настройка: 32-разрядная версия Windows 7

Контекст: установлен драйвер PCI-GPIB, с которым я не смог связаться из-за вышеупомянутой проблемы.

Короткий ответ: переустановите драйвер.

Длительный ответ:
Я также использовал Dependency Walker, в котором было указано несколько отсутствующих модулей зависимостей. Сразу же я подумал, что это была неудачная установка драйвера. Я не хотел проверять и восстанавливать каждый отсутствующий файл.

Неожиданная часть заключалась в том, что не все модули зависимостей были разрешены. Тем не менее, теперь можно указать *.dll интерес.

Я только что построил свой проект в конфигурации режима отладки, и на этот раз мой cpp dll работал нормально.

Я думаю, что ваша неуправляемая библиотека нуждается в манифесте.
Здесь, как добавить его в свой двоичный файл. и здесь.

Таким образом, в вашем окне может быть установлено несколько версий распространяемой библиотеки, но только одно из них должно удовлетворять вашему приложению, и это может быть не по умолчанию, поэтому вам нужно сообщить системе, что вам нужна ваша библиотека, поэтому манифест.

1.Проверил совместимость dll с 32-битным или 64-битным процессором.

2.Проверены правильные пути к папке DLL.bin, system32/sysWOW64 или указанному пути.

3.Проверено, отсутствуют ли файлы PDB (база данных программ). Это видео дает вам лучшее представление о файлах pdb.

При запуске 32-битного двоичного кода C/c++ в 64-битной системе это может произойти из-за несовместимости платформы. Вы можете изменить его из Build> Configuration manager.

Причины ошибки 126

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

Способ 1: автоматическое исправление проблем с DLL-файлами

Есть специальная утилита, которая автоматически сканирует системные библиотеки и сравнивает их с эталоном. Если она обнаружит, что какого-то файла или нескольких, недостает, она сама их загрузит. Также происходит анализ битых, поврежденных и модифицированных файлов. Это очень удобно и быстро в сравнении с ручным способом и, что немаловажно, еще и более безопасно. На личном опыте, программа работает стабильно и не устанавливает файлы, зараженные вирусами. Однако любые манипуляции с DLL-библиотеками сложно назвать полностью безопасными.

Инструкция по устранению ошибки 126:

  1. Загружаем программу Restoro PC Repair Tool. Лучше это делать с официального сайта .
  2. Устанавливаем и запускаем софт. Нажимаем на кнопку «Начать сканирование» (Start Scan).
  3. После процедуры анализа системы кликаем по клавише «Восстановить все» (Repair All).

ошибка 126

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

Способ 2: временно отключаем антивирус

Есть большая вероятность, что ошибка 126 спровоцирована антивирусной защитой системы. Если в момент установки программы антивирус посчитал один из компонентов угрозой и заблокировал его, он будет отсутствовать, а система писать «Не найден указанный модуль». В целом желательно отключать защиту в момент установки программ, которым доверяем.

  1. Выключаем антивирус (встроенный Защитник Windows и/или сторонний).
  2. Полностью удаляем программу через «Программы и компоненты» (пункт находится в Панели управления).
  3. Начинаем установку утилиты снова, проверив, что сейчас антивирус не работает.
  4. Проверяем результат.

ошибка 126

Если сейчас программа заработала нормально, рекомендуем открыть антивирус и добавить в список его исключений данный софт. В противном случае со временем ошибка может вернуться, ведь антивирусная защита снова может заблокировать или удалить файл.

Важно! Для максимального результата лучше сделать полное удаление программы. Для этого можем воспользоваться iObit Uninstaller. Софт анализирует систему и ищет остатки файлов приложения, удаляя и их.

Способ 3: обновляем Microsoft NET Framework

Способ 4: переустанавливаем DirectX

Способ 5: сканируем системные файлы Windows

Во всех актуальных версиях Windows есть встроенный инструмент анализа системных файлов. Он часто помогает при различных проблемах с DLL-файлами.

Как запустить системные файлы:

  1. В поиск Windows вводим cmd и запускаем «Командную строку».
  2. Вводим команду sfc /scannow.
  3. Ждем завершения сканирования системы. Все ошибки должны быть исправлены автоматически, если такая возможность есть.

ошибка 126

Способ 6: восстанавливаем системные реестр

Способ 7: делаем откат Windows

Если никакие ручные способы исправления не помогают, что бывает редко, приходится обратиться к последнему методу и откатить Windows к последнему рабочему состоянию. Иногда файлы DLL могут пропадать из-за удаления программы, и вы можете столкнуться с ошибкой 126. Чтобы устранить ее, воспользуйтесь точками восстановления. Найти «Параметры восстановления» можем через поиск в Windows.

ошибка 126

Читайте также: