Надо сразу сказать библиотека SDL достаточно большой инструмент для работы с графикой. Поэтому когда вроде как уже знаешь язык так, что хочется чего-то большего, можно попробовать сторонние графические библиотеки.
Одной из таких можно взять SDL.
- Скачиваение
- Настраиваем Settings — Compiler
- Добавляем исходники
- Обновляем Linker
- Добавляем SDL2.dll
- Создаем проект
- Заходим в свойства проекта
- Меняем build targets
- Меняем свойства линковщика
- Тестируем
Надо так же оговориться, что привязка к проекту SDL и SDL2 ничем не отличается.
Используемые инструменты:
Windows
CodeBlocks c MinGW (http://codeblocks.org/downloads/26)
SDL2 ( https://www.libsdl.org/download-2.0.php ) в разделе Development Libraries: с MinGW
Для знающих английский и/или использующих иные инструменты можно поглядеть тут: http://lazyfoo.net/SDL_tutorials/lesson01/index.php
1. Скачиваем необходимый архив с файлами для разработки в разделе Development Libraries на сайте https://www.libsdl.org/download-2.0.php. Для CodeBlocks, это SDL2-devel-2.x.x-mingw.tar.gz
Распаковываем архив 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 и добавим настройки для линковщика.
-lmingw32 -lSDL2main -lSDL2
10. Добавим новый файл исходника в проект со следующим кодом.
#include "SDL2/SDL.h" int main( int argc, char* args[] ) { //Start SDL SDL_Init( SDL_INIT_EVERYTHING ); //Quit SDL SDL_Quit(); return 0; }
Сохраняем исходные код и компилируем проект. Если нет ошибок, то все в порядке. В противном случае возвращаемся назад и проверяем все ли сделано как надо.
ДВАЖДЫ проверьте, что ваша библиотека SDL2.dll находится в той же папке, что и ваш .exe проекта или в папке system32
Так же в папке docs находится документацию SDL. Крайне рекомендуется с ней ознакомиться!
2 Replies to “Установка и первое приложение SDL2”
Стоит обновить статью, потому что флаги -lSDLmain -lSDL вызывают ошибку, стоит использовать -lSDL2main -lSDL2
А за статью спасибо, все, кроме пункта выше работает прекрасно, написано простым человеческим языком.
Спасибо за замечание, поправил