Как включить dll в исполняемый файл программы

Как включить все DLL в exe?

У меня есть проект Visual Studio 12; исходный код написан на C ++; это проект OpenCV. Я хочу передать свою скомпилированную программу кому-то другому, но на другом ПК я получаю сообщение об ошибке пропуска некоторых библиотек DLL. Моя программа использует много OpenCV (может быть, не только) DLL. Как я могу решить эту проблему? Может быть, в VS 12 доступна опция для включения всех DLL в .exe?
Это довольно похожий вопрос без правильного ответа:
включить DLL в Visual Studio C ++ 2008

Сами DLL не могут быть «статически связаны» в исполняемый файл; это полностью противоречит их цели (ну, на самом деле вы можете использовать некоторые действительно странные трюки вуду, чтобы на самом деле это сделать, но это не рекомендуется, и вы не должны пытаться это делать, если вам нужно задать этот вопрос).

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

Другие решения

более сложным решением было бы создать статические библиотеки opencv из src, а затем связать вашу программу с теми, что приводит к 1 большому двоичному exe-чанку, который не использует никакие dll (кроме ffmpeg, не уверенный в этом).

чтобы создать статические библиотеки, вам нужно запустить cmake с: BUILD_SHARED_LIBS = OFF

но сделайте глубокий вдох, прежде чем сделать это. связать вашу программу будет значительно сложнее, потому что теперь вам нужно вручную связать все zlib, libpng и любые другие зависимости (которые до этого были удобно связаны с вашими dll)

Опять же, самое простое решение — развернуть все dll opencv с вашей программой.

Вы можете использовать Windows Dependency Walker чтобы определить, какие библиотеки DLL необходимо запустить.

На самом деле, это говорит только о том, какие DLL нужны вашей программе для успешного запуска. Если вы загружаете DLL динамически (через LoadLibrary), то вы сами по себе.

Если вы выбираете принятое решение (упакуйте DLL-файлы в EXE-файл) и не хотите искать, какие DLL-библиотеки использовать, вы можете скопировать все библиотеки OpenCV. Они не такие большие (65 МБ на OpenCV 2.43). Они расположены по адресу . opencvXXXbuildx64vc10bin

где XXX это версия OpenCV. Ты можешь использовать x64 или же x86 в зависимости от вашей платформы (32 или 64-битная). И версия vc может отличаться в вашей системе ( vc9 , vc10 , так далее…)

Как установить DLL файлы на Windows?

Файл DLL – компонент динамически подключаемой библиотеки, чьи элементы используют практически все программы. Библиотека DLL файлов расположена в корневой папке системы. Компоненты должны быть все в наличии, иметь цифровую подпись, правильно работать и быть актуальными по версии. Если одно из требований не соблюдено, при запуске программы пользователь получит информационное уведомление: ошибка DLL. Неисправность свидетельствует о том, что отсутствует DLL файл, поврежден или устарел.

Как установить DLL файл

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

Помещение и регистрация файлов библиотеки

Перед тем как установить DLL файл на Windows 7,8,10, их нужно скачать, причем точно под разрядность системы.

Давайте определим, какая разрядность у Вашей системы (если вы точно знаете, может пропустить этот шаг)

Шаг 1. Кликаем правой кнопкой мыши по «Мой компьютер» и выбираем «Свойства»

Шаг 2. В открывшемся окне, мы может прочитать свойства компьютера, версию операционной системы и её разрядность 32 (х86) или 64 бит. В нашем случаи стоит 64-разрядная операционная система Windows 10.

·

Шаг 3. После скачивания файлов их нужно поместить в корневую папку, зарегистрировать

для х32 (х86) систем компонент необходимо заменить или поместить в папку C:WindowsSystem32;

для х64 необходимо выполнить замену или переместить в папку C:Windows SysWOW64;

Шаг 4. Файл нужно зарегистрировать в системе.

Сделать это можно, открыв командную строку комбинацией «Win» + «R», или нажать «Пуск» и «Выполнить»;

в открывшемся окне ввести через пробел следующее: regsvr32 имя файла.dll – где, «regsvr32» ─ команда для регистрации, а «имя файла.dll» – полное имя вставленного компонента;

или же можно прописать расположение файла вручную — regsvr32.exe + путь к файлу

Шаг 5. Нажмите «ОК», и перезагрузите компьютер, и новые параметры вступят в силу.

Сразу хочется отметить, что при регистрации возможны появления ошибок. Например: «Не удалось загрузить модуль». Обычно они возникают по 3 причинам

  1. Не правильно прописан путь к файлу, или файл не был перемещен в каталог System32 или SysWOW64
  2. Не все файлы DLL вообще нуждаются в регистрации, иногда достаточно просто скопировать их в каталок System32 или SysWOW64 или поместить в корень проблемной игры или программы
  3. Файлы уже были зарегистрированы ранее
Читать еще:  Как включить языковую панель в windows xp

Второй способ регистрации

Шаг 1. Зарегистрировать файл можно с помощью командой строки, которую нужно запустить от имени администратора.

Шаг 2. Пишем команду regsvr32.exe + путь к файлу и жмём «Enter»

Шаг 3. Появится сообщение что «Всё прошло удачно», и просто перезагружаем компьютер

Вот и всё, файл зарегистрирован, можете пробовать запускать вашу игру или программу

А вот, некоторые советы, которые могут вам пригодиться.

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

Как установить DLL файл на Windows и зарегистрировать?

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

Скачивание и установка DLL-файлов

При появлении какой-то ошибки обычно указывается название DLL-файла, которого не хватает. Вам нужно ввести название этого файла в поисковике и скачать. Например, нам нужно скачать файл d3dx9_27.dll. Мы вводим это название в Яндексе или Google и скачиваем с какого-нибудь сайта. Наиболее безопасный и популярный сайт, с которого я сам скачиваю DLL-файлы – DLL-FILES.com. Там есть поле, в которое можно ввести название файла.

Теперь нужно разобраться, куда кидать этот файл dll. В разных системах местоположение этих файлов разное, поэтому я начну с ранних ОС:

  • Windows 95/98 – помещаем файл в папку C:WindowsSystem ;
  • Windows NT или 2000 – помещаем файл в папку C:WINNTSystem32 ;
  • Windows XP, 7, 8, 10 – помещаем файл в папку (для 32-х битных систем в C:WindowsSystem32 , а для 64-х битных в C:WindowsSysWOW64 ).

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

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

А что делать, если вы закинули все нужные файлы в папку, но программа или игра по-прежнему не запускается? Тогда можно попробовать зарегистрировать библиотеку в системе, сейчас покажу, как это сделать.

Как зарегистрировать DLL в Windows

Регистрация библиотек DLL в Windows происходит очень просто и быстро. Вы можете это сделать, если у вас стоит Windows 7, 8 или 10. Еще хочу отметить, что у вас должны быть права администратора. В данном пункте я покажу 3 способа регистрации динамических библиотек.

Первый способ

Он самый популярный и используемый пользователями.

Открываем окно «Выполнить», с помощью клавиш Win+R и вводим туда команду regsvr32.exe название_файла.

Другими словами, команда может выглядеть так (покажу на примере файла d3dx9_27.dll):

regsvr32.exe d3dx9_27.dll

Если способ не сработал, то нужно указать полный путь к этому файлу, то есть путь до папки, куда вы поместили DLL. Например, это может выглядеть так:

regsvr32.exe C:/Windows/system32/d3dx9_27.dll

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

Второй способ

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

Далее, нужно ввести похожую команду:

regsvr32.exe путь_к_файлу_dll

То есть мы выполняем все тоже самое, только в командной строке.

Должно снова появиться сообщение, что библиотека зарегистрирована, либо ошибка.

Третий способ

Метод редко кем используемый, но тоже рабочий. Берете свой dll-файл и нажимаете на нем правой кнопкой мыши, в появившемся контекстном меню выбираете пункт «Открыть с помощью» и идете в папку Windows/System32, и ищете там программу regsvr32.exe, через которую и будем открывать библиотеку.

Ошибка при регистрации DLL-файлов

Когда вы пытаетесь зарегистрировать DLL, причем, не важно каким способом, то вы можете получить ошибку, что модуль такого-то DLL несовместим с версией Windows, либо загружен. Что делать?

Такие ошибки могут возникать по следующим причинам:

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

Как решить проблему?

  • Опытные пользователи могут использовать regasm.exe;
  • Попробуйте в интернете скачать этот же файл, только из другого источника. Либо посмотрите, что это за файл и воспользуйтесь специальными установщиками DLL-файлов. Некоторые библиотеки поставляются с каким-либо программным обеспечением, например, DirectX.
  • При скачивании какого-то приложения антивирус мог удалить в процессе установки важные DLL-библиотеки, которые были в установщике, поэтому нужно скачать игру с другого источника, либо временно отключить антивирус, и переустановить приложение.
Читать еще:  Как включить звук на компьютере через клавиатуру

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

Как устанавливать DLL-файлы: несколько простых методов

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

Куда устанавливать файлы DLL?

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

В ОС Windows с архитектурой 32 бита для этого используется каталог System32, а для 64-битных систем – SysWOW64 (обе папки находятся в корневой директории Windows на диске С). Узнать разрядность установленной ОС можно совершенно просто через свойства компьютера.

Как установить DLL-файл на Windows 7 или в любой другой версии простейшим методом?

Теперь перейдем непосредственно к установке. Для ее выполнения в Windows предусмотрен специальный системный компонент regsvr32.exe – программа, устанавливающая DLL-файлы путем их регистрации. Она, кстати сказать, может использоваться и для других типов объектов, с которыми возникают проблемы, связанные с появлением уведомлений системы о том, что они в системе не зарегистрированы. Но как установить файлы DLL на Windows? Для этого можно воспользоваться всем известным меню запуска программ «Выполнить». В нем просто прописывается команда регистрации с указанием названия файла с расширением. В случае если такой метод не срабатывает, а система выдает ошибку, после указания основного инструмента вводится полный путь к файлу.

Например, у вас есть библиотека msvcp110.dll. в первом случае команда регистрации выглядит так: «regsvr32.exe msvcp110.dll», во втором — «regsvr32.exe с:/Windows/System32/msvcp110.dll» для 32-битных систем или «regsvr32.exe с:/Windows/SysWOW64/msvcp110.dll» для систем 64 бита. (все команды вводятся без кавычек).

Регистрация в командной строке

Говоря о то, как устанавливать DLL-файлы, в Windows-системах можно применять и другой метод, состоящий в использовании того же регистрационного компонента, но запущенного уже через командную строку. Собственно, результат тот же.

Разница, как уже понятно, состоит только в том, что сначала вызывается именно командная консоль (обязательно с правами администратора), в которой прописываются те же комбинации, но с указанием полного пути.

Открытие файла через программу

Наконец, если рассматривать, как устанавливать DLL-файлы, можно вообще пойти окольным путем.

Для выполнения необходимой операции сначала через ПКМ необходимо вызвать контекстное меню, выбрать пункт «Открыть с помощью…», а после этого через кнопку обзора или выполнение поиска программ на компьютере зайти в каталог System32 и указать приложение regsvr32.exe.

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

Типичные ошибки регистрации

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

Несколько слов напоследок

Остается дать несколько дельных советов по проведению процессов регистрации. Прежде всего, обращайте внимание на разрядность системы. Скачиваемый файл должен иметь ту же битность. Соответственно, помещайте файлы в вышеуказанные локации. В противном случае регистрация результата не даст. Если для выполнения какой-то операции требуется задание прав администратора, соглашайтесь в обязательном порядке. Если для загружаемых библиотек предусмотрен выпуск обновлений, скачивайте наиболее свежую и актуальную на текущий момент версию файла. Это избавит вас от появления разного рода конфликтов между установленными программами их дополнительно инсталлируемыми компонентами. Наконец, если искомые файлы все-таки были скачаны с сомнительного ресурса, а их копирование в системный раздел производится, например, с флешки, сначала проверяйте их на предмет наличия вирусов, используя для этого стандартные встроенные в меню ПКМ «Проводника» команды самого антивируса.

Читать еще:  Как включить звук на ноутбуке на клавиатуре

Файл формата DLL: чем открыть, описание, особенности

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

Современные программы состоят из нескольких модулей, которые включают в себя массивы данных, классы, сервисы, требуемые библиотеки. Такой подход разрешает при переписывании ПО не редактировать полностью код, а изменять только необходимые функции, которые заключены в составных частях. Так как открыть DLL файл стандартными средствами Windows невозможно, приходится использовать другие методы.

Файлы с расширением DLL – что это и для чего нужны

Файлы DLL – это динамически подключаемые библиотеки. Установленная в операционную систему программа может не иметь в своем составе всех нужных для работы данных, а использовать те, которые уже присутствуют в ОС. За счет этого также достигается экономия памяти – работающие программы используют одни и те же DLL.

Если же программа (или библиотека) будет повреждена, то это не скажется на работоспособности остального ПО.

Когда и как появились

Библиотеки DLL появились одновременно с ОС Windows. Разработчики предполагали, что это облегчит программирование приложений и поможет упорядочить использование общих ресурсов в течение сеанса работы.

Но со временем выяснилось, что в ряде случаев возникает тупиковая ситуация, которая получила название «DLL hell». Такое случалось, когда два или более приложений требуют доступа к разным (и не совместимым друг с другом) библиотекам. В результате Windows начинала работать нестабильно.

Только в последних версиях ОС удалось создать механизм, предотвращающий возникновения сбоев – технологию Side-by-side assembly, который испытали в XP, но окончательно он стал применяться в Windows Vista.

При помощи каких программ открываются файлы с расширением .dll

Программный код ОС Windows – проприетарный. Это значит, что разработчики не предусмотрели штатных средств, применяя которые, пользователь сможет менять системный код. Для открытия DLL придется использовать специальные программные пакеты. А подключать имеющиеся DLL к разрабатываемой программе можно с применением ПО Microsoft.

В Windows 10

Пользователи, работающие в десятой версии Windows, не всегда знают, чем открыть DLL. Для подключения библиотеки к проекту понадобится либо Visual Studio, либо VisualFoxPro. Эти программные комплексы доступны для скачивания на официальном портале компании Microsoft. Для редактирования допускается использовать ResourceHacker – утилиту для ознакомления и редактирования различных типов файлов.

Чтобы открыть динамически подключаемую библиотеку, следует нажать в главном меню:

  1. Пункт «Файл».
  2. «Открыть».
  3. Выбрать требуемую библиотеку, воспользовавшись проводником.
  4. После завершения изменений закрыть файл, сохранив изменения.

Из чего состоит рабочая область программы ResHacker:

  • верхняя главная панель – для запуска функциональных команд: открыть, скомпилировать, сохранить;
  • левое окно – содержит список объектов, которые входят в состав библиотеки;
  • центральная часть – текст программного кода.

В Windows 7

Проблема – чем открыть DLL для редактирования в операционной системе Windows 7 решается так же как и для 10 версии. Еще применяется утилита Resource Tuner – редактор ресурсов. Она дает возможность менять код в DLL на свое усмотрение и сохранять библиотеки.

В онлайн-сервисах

Это понадобится, если речь идет о страницах сайта. В DLL содержатся скрипты, которые отвечают за корректную работу сервера.

Открыть библиотеки можно, используя браузеры:

Как открыть DLL, используя Visual Studio

Программная среда Visual Studio дает возможность создавать, подключать DLL к текущему проекту и редактировать его. Для этого используется синтаксис языка программирования.

Особенности работы с DLL файлами и возможные проблемы

Некоторые DLL не удастся не только изменить, но даже открыть. Это происходит с защищенными библиотеками и проблема не решается без специальных программ для взлома.

Пользователи также сталкиваются с отсутствием библиотек, необходимых для работы некоторых программ. ОС при этом выдает сообщение о том, что «файл не найден». Для устранения неисправности требуется отыскать недостающие DLL с помощью поисковых систем и скачать. Затем – поместить в требуемую папку.

В редких случаях библиотеки DLL придется зарегистрировать в ОС:

  1. В Windows 7 (и более поздних версиях) войти в каталог, содержащий требуемый файл.
  2. Нажать «Shift» + правую клавишу мышки.
  3. В появившемся меню выбрать строчку: «Открыть окно команд».
  4. Набрать: regsvr32 dllxxxx.dll, где «dllxxxx.dll» – название регистрируемой библиотеки.
  5. Нажать «Enter».

В качестве итога

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

Ссылка на основную публикацию
Adblock
detector