Sdl2 dll куда кидать

Обновлено: 07.07.2024

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

Но как правильно установить dll-файлы на Winodws? В какую папку их поместить в зависимости от версии ОС и ее разрядности? Об этом и пойдет речь ниже.

Предлагаем вам познакомиться с простой инструкцией, где вы узнаете всю информацию о том, как установить и зарегистрировать файлы dll.

Шаг 1. Как установить dll-файл?

Для исправной работы программ при запуске exe-файла необходимо скачать и вручную установить отсутствующий компонент. Загрузить dll-библиотеку на свой ПК можно из любых открытых источников.

Перед установкой в корневую папку системы необходимо убедиться в том, что компоненты dll-файла имеют актуальную версию, цифровую подпись и соответствуют разрядности системы.

В противном случае даже после установки библиотеки и запуске программы снова появится ошибка.

Как это сделать?

  • Узнать разрядность ОС через правую кнопку мыши на «Мой компьютер».
  • Выберите «Свойства» и в появившемся окне прочтите информацию о системе (х32/х86 или х64)

Куда кидать dll файлы для Windows 7/8/10 в зависимости от разрядности системы?

  • Для 32-битных систем – в директорию C:/Windows/System 32
  • Для 64-битных систем – в директорию C:/Windows/SysWOW64

Шаг 2. Как зарегистрировать файлы dll?

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

Как это сделать? Существует два варианта:

Вариант №1. С помощью командной строки. Нажмите комбинацию клавиш «Win» + «R» или «Пуск-Выполнить». В строчке окна введите regsvr32 «имя скаченного файла» (в формате *.dll).


Также через эту команду можно для регистрации прописать путь вручную по типу regsvr32 C:/Windows/SysWOW64 и нажать «ОК».


Вариант №2. С помощью командной строки от имени администратора. Нажмите комбинацию на клавиатуре «Win» + «X» и выберите «Командная строка (Администратор)». В ней необходимо прописать команду regsvr32.exe + «Путь к установленной dll-библиотеки» и нажать кнопку «Enter».


Здравствуй, Хабр. Недавно наткнулся на новый цикл статей по sdl2, но без процедуры установки. Вроде ничего сложного, но если интересно, то давайте вместе пройдемся по граблям, которые могут нас ожидать. Я проведу установку для xcode10 на macOS 10.14.5, code::blocks на Ubuntu 18.04 и Visual Studio 2019 Windows 10. Можно, конечно, было бы использовать clion. Одна ide на всех системах, но мне по какой-то причине не нравится их продукт. Ничего личного, просто кодинг.

Для проверки я буду использовать следующий код.

Ubuntu

Ставим code::blocks из магазина — здесь никаких неожиданностей. Далее создаем простенький файл mian.cpp для теста.


Если не собираетесь компилировать из терминала, то нужно указать target в настройках проекта.


Отлично. Далее нужно установить сам sdl2. Пишем в терминале


После установки дадим знать ide, что нужно использовать sdl2. Перейдем в в раздел «project»->«build options». Нас интересует вкладка «Linker settings». В окно «other linker options» добавим "-lSDL2".


Заменяем на наш код. Отлично, окно рисуется.


macOS

Для установки вы можете использовать установочный образ с Сайта. На данный момент последняя стабильная версия 2.0.9.

Скачиваем и копируем в каталог /Library/Frameworks. Для использования может потребоваться аутентификация.

Запускаем xcode и выбираем проект command line tool macOS. Даем имя проекту и выбираем язык C++.

Чтобы добавить поддержку sdl2, необходимо перейти в «настройки проекта»->«build phases»->«link binary with libraries» и добавить элемент. В открывшемся окне выбрать «add other»


Добавляем наш файл /Library/Frameworks/SDL2.framework и можем проверять.

В случае, если вы предпочитаете использовать brew, то помните, что он устанавливает только статические библиотеки. В таком случае нужно передать флаг -I/usr/local/include.

Все работает, поехали дальше.


Windows

Установите vs studio. Скачайте библиотеку. Распакуйте содержимое и расположите где вам больше нравится. Я очень редко использую windows, поэтому не знаю, где хранятся все остальные библиотеки.

Создаем проект с пустым cpp файлом, либо консольное приложение, как вам удобно.
Перейдите в «проект»->«свойства»->«C/C++»->«дополнительные каталоги включаемых файлов». Добавьте путь к распакованному каталогу, указав include. В моем случае вышло \\Mac\Home\Downloads\SDL2-2.0.9\include, т.к. у меня виртуальная машина.


После этого в разделе «компоновщик»->«общие»->«дополнительные каталоги библиотек» нужно указать путь к SDL2.dll, например \\Mac\Home\Downloads\SDL2-2.0.9\lib\x64.

Осталось немного, «компоновщик»->«ввод»->«дополнительные зависимости» мы дописываем то, что необходимо использовать, SDL2.lib, SDL2main.lib, SDL2test.lib. После этого необходимо собрать проект. Собрав, скопируйте файл SDL2.dll из каталога lib\x64 или lib\x32 и поместите рядом с исполняемым файлом. Теперь пробуем наш код. Еще один момент: т.к. в «дополнительные каталоги включаемых файлов» мы указали путь сразу до подключаемых заголовков, то



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

В качестве примера мы рассмотрим подключение библиотеки SDL к нашему проекту в Visual Studio 2017 (работать будет и с более новыми версиями Visual Studio).

Шаг №1: Создаем папку для хранения библиотеки

Создаем папку Libs на диске C ( C:\Libs ).

Шаг №2: Скачиваем и устанавливаем библиотеку



Шаг №3: Указываем путь к заголовочным файлам библиотеки

Открываем свой любой проект в Visual Studio или создаем новый, переходим в "Обозреватель решений" > кликаем правой кнопкой мыши (ПКМ) по названию нашего проекта > "Свойства" :


В "Свойства конфигурации" ищем вкладку "С/С++" > "Общие" . Затем выбираем пункт "Дополнительные каталоги включаемых файлов" > нажимаем на стрелочку в конце > "Изменить" :


В появившемся окне кликаем на иконку с изображением папки, а затем на появившееся троеточие:


Заголовочные файлы находятся в папке include внутри нашей библиотеки, поэтому переходим в нее ( C:\Libs\SDL2-2.0.9\include ) и нажимаем "Выбор папки" , а затем "ОК" :



Шаг №4: Указываем путь к файлам с реализацией библиотеки

Переходим на вкладку "Компоновщик" > "Общие" . Ищем пункт "Дополнительные каталоги библиотек" > нажимаем на стрелочку в конце > "Изменить" :


Опять же, нажимаем на иконку с папкой, а затем на появившееся троеточие. Нам нужно указать следующий путь: C:\Libs\SDL2-2.0.9\lib\x86 . Будьте внимательны, в папке lib находятся две папки: x64 и x86 . Даже если у вас Windows разрядности x64, указывать нужно папку x86 . Затем "Выбор папки" и "ОК" :


После этого переходим в "Компоновщик" > "Ввод" . Затем "Дополнительные зависимости" > нажимаем на стрелочку в конце > "Изменить" :


В появившемся текстовом блоке вставляем:


Затем переходим в "Компоновщик" > "Система" . После этого "Подсистема" > нажимаем на стрелочку вниз > выбираем "Консоль (/SUBSYSTEM:CONSOLE)" > "Применить" > "ОК" :



Шаг №5: Копируем dll-ку в папку с проектом

Переходим в папку x86 ( C:\Libs\SDL2-2.0.9\lib\x86 ), копируем SDL2.dll и вставляем в папку с вашим проектом в Visual Studio. Чтобы просмотреть папку вашего проекта в Visual Studio, нажмите ПКМ по названию вашего проекта > "Открыть содержащую папку" :


Затем вставляем скопированный файл (SDL2.dll) в папку с проектом (где находится рабочий файл .cpp):


Шаг №6: Тестируем

Теперь, чтобы проверить, всё ли верно мы сделали — копируем и запускаем следующий код:

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

Куда закидывать файлы dll

  • Куда закидывать файлы dll
  • Как создать dll библиотеку
  • Куда вставить xlive dll

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

Директория может быть найдена пользователем в системе самостоятельно и все файлы, доступные в ней, могут быть удалены или модифицированы. Перейдите в меню «Пуск» - «Компьютер» - «Локальный диск C:». В появившемся списке папок выберите Windows, а затем прокрутите колесико мышки до тех пор, пока не увидите директорию System32.

Вставьте файл библиотеки в папку. Чтобы это сделать, кликните правой клавишей мыши на файле DLL из вашей директории, а затем выберите в появившемся контекстном меню операцию «Копировать». После этого перейдите обратно в System32 и вставьте библиотеку, снова кликнув правой клавишей мыши на свободном участке в каталоге и выбрав опцию «Вставить».

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

Разархивируйте полученный документ, воспользовавшись программой-архиватором. Для этого кликните правой клавишей мыши по полученному архиву и выберите «Извлечь в текущую папку». Затем переместите DLL в директорию System32 указанным выше способом и попробуйте произвести запуск необходимой утилиты еще раз. Если выбранный файл был загружен верно, произойдет старт нужной вам программы.

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

Одной из таких можно взять SDL.


Распаковываем архив gz, в нем должен находиться архив .tar, открываем архив .tar, в нем должна находиться папка. Копируем эту папку, например в C:\

2. Запускаем CodeBlocks и заходим в пункт меню Settings->Compiler

3. Заходим во вкладку Search directories, нажимаем Add и выбираем директорию, которая содержит папку include, важно правильно выбрать версию i686-w64-mingw32 или x86_64-w64-mingw32 (зависит от архитектуры процессора, в крайнем случае можно выбрать другую папку, если вдруг не подошла одна).



4. Теперь заходим во вкладку Linker и добавляем папку с библиотеками (lib) из папки SDL



5. Теперь нужно скопировать SDL2.dll из папки SDL которую вы распаковывали. Библиотека SDL2.dll находится в папке bin в папке соответствующей версии (например i686-w64-mingw32), необходимо взять именно ту версию, исходники которой подключали на предыдущих шагах. SDL2.dll нужно размещать рядом с файлом *.exe, который будет скомпилирован для проекта. Обычно это папки bin/Debug, bin/Release внутри проекта.

По идее можно просто разместить SDL2.dll в папку C:\Windows\System32 или если Windows 64-битная, то в C:\Windows\SysWOW64, но тогда если разные проекты с разными версиями SDL, то возможны конфликты версий. Поэтому решением будет размещение библиотеки в разные папки непосредственно рядом с .exe.

6. Запускаем CodeBlocks и создаем новый Empty project


Сохраняем проект. Конечно, в CodeBlocks есть шаблон SDL проекта, но настроить вручную оказалось как-то проще.

7. Далее заходим в свойства проекта Project->properties (либо ПКМ на проект ->properties)


8. Во вкладке Build Targets необходимо установить Type на "GUI Application". Это нужно сделать для того, чтобы консольное окно не появлялось при запуске приложения.

9. Опять зайдем в настройки компилятора: Settings->Compiler во вкладку Linker Settings и добавим настройки для линковщика.


10. Добавим новый файл исходника в проект со следующим кодом.

Сохраняем исходные код и компилируем проект. Если нет ошибок, то все в порядке. В противном случае возвращаемся назад и проверяем все ли сделано как надо.

ДВАЖДЫ проверьте, что ваша библиотека SDL2.dll находится в той же папке, что и ваш .exe проекта или в папке system32

Так же в папке docs находится документацию SDL. Крайне рекомендуется с ней ознакомиться!

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