Как стать автором
Обновить

Комментарии 17

Пожалуйста, не повторяйте за другими всякую бяку.
Подключать заголовки нужно всегда с указанием пути. Т.е. для SDL 1.x:
#include <SDL/SDL.h>
Для SDL 2.x:
#include <SDL2/SDL.h>

Если по какой-то причине это не работает, значит в среде неправильно настроены пути к библиотекам.
Отчего-же? Скажем, pkg-config --cflags sdl2 на моей системе подключает путь .../include/SDL2, то есть, с таким флагом, надо будет подключать #include <SDL.h>.
Смотрите, оно делает -I/usr/include/SDL2, т.е. добавляет его в «несистемные» инклуды. Т.е. через подключать надо либо через "SDL.h", либо через <SDL2/SDL.h>.
Моё мнение, что через "" стоит подключать только «внутрипроектные» инклуды, а инклуды библиотек надо всегда через <>, причём указывать путь всегда, чтобы быть уверенным в том, какая именно библиотека подключается.
Цитируя FAQ wiki, касающийся разработки:

The most portable way to include SDL headers is to use quotes around the header name:
#include «SDL.h»
Процитируя мой ответ Вам в private messages,
я с ними несогласен. Из-за такой позиции все и суют SDL куда попало вместо того, чтобы поставить куда надо.
Обновил пост.
Глянул, что в SDL_Image, например, инклудится «SDL.h»… вновь изменил свою точку зрения и поправил пост.
SDL_Image это SDL_Image. Остальным нужно именно так:
gcc `pkg-config --cflags sdl2` <...> `pkg-config --libs sdl2`

#include <SDL2/SDL.h>


И никак более. Так не нужно будет в случае чего менять исходники, просто либо через pkg-config, либо вручную -I указать. В том-же Microsoft Visual Studio C++ исходники менять не придется, просто пути (или как оно там называется) прописать в проекте.
У меня вижуалка начинает ругаться, что не может найти библиотеку, т.к. в SDL_Image именно такой инклуд. («SDL.h»)
НЛО прилетело и опубликовало эту надпись здесь
Не надо людей учить плохому. BMP — проприетарный формат, и к тому же без сжатия. За его использование MS может попросить денюжку. Лучше сразу разрабатывать игры с использованием PNG для графики и OGG для звука, чтобы никаких претензий ни у кого не возникало.
В чём выражается проприетарность? Википедия говорит «patent free», документация есть в msdn — по всему выходит что формат открытый. А сжатие — это уже зависит от потребностей в каждом конкретном случае. В конкретно данном случае куда важнее простота, выражающаяся в отсутствии зависимости от SDL2_image.
> Википедия говорит «patent free», документация есть в msdn — по всему выходит что формат открытый.

Уж сколько раз натыкались на одни и те же грабли — сегодня это free, а завтра давай плати. Учитывая, что авторство формата остается за Microsoft, сделать они могут что угодно.
Это перевод цикла уроков, причём пока что первый из них. В третьем уроке будет разобрана библиотека SDL_Image, позволяющая работать с различными форматами изображений.
Судя по статистике переходов с хабра, библиотека многих интересует. Сделал туториал: github.com/AMDmi3/libSDL2pp-tutorial и постараюсь написать по нему статью.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории