CodeBlocks + SDL
Содержание:
1. Пару слов о CodeBlocks.
2. Пару слов об SDL.
3. Ставим SDL.
Пару слов о CodeBlocks.
Давайте сначала зададимся вопросом, а почему собственно CodeBlocks? Дело в том, что эта интегрированная среда разработки (IDE) является кроссплатформенной. То есть другими словами есть ее версии как для Windows, так и для Linux и даже Mac Os. Да что там говорить, вот информация прямо с родного сайта http://www.codeblocks.org/ :
Code::Blocks supports:
- Windows 2000 / XP / Vista
- Linux (Ubuntu & Debian, 32 & 64 bits)
-
Mac OS X 10.4+
Согласитесь, когда переходишь с одной операционной системы на другую, чуствуешь некоторое время дискомфорт. Просто элементарно не хватает того, к чему ты привык. Нужно время, чтобы адаптироваться к новой ситуации. И именно тут приходят на помощь кросплатформенные программы, которые ты уже знаешь по другим системам и прекрасно в них ориентируешья. Это уменьшает период адаптции и повышает как качество разработки, так и скорость. Ко всем другим приемуществам CodeBlocks еще добавлю и то, что он абсолютно бесплатен и все его исходные коды открыты.
Маленькое отступление.
Если вы не искушенный в делах программирования пользователь, то сразу хочу оговориться, что CodeBlocks всего лишь ИДЕ - интегрированная среда для разработки вашего продукта, то есть это все окошки, где вы вводите текст своей программы, где ведёте проект, добавляя или удаляя файлы, прилинковывая библиотеки, создавая хидеры и т.д. А программа, которая переводит текст вашей программы в выполняемый exe файл - называется компилятор. Компилятор это отдельная от ИДЕ программа, которая выполняет свою функцию из командной строки, а ИДЕ лишь графическая оболочка, для удобства набирания и отлаживания программ. В CodeBlocks есть много "вкусных" фишек таких как Plugin-ы, userTamplate-ы и другие. Так вот, как я уже сказал, для разработки программ нам еще нужен компилятор. Вот список компиляторов, которые поддерживает CodeBlocks:
Supported compilers :
- GNU GCC (incl. G77) (Linux)
- MinGW GCC (incl. G77) (Win32)
- MSP430 GCC (Win32, Linux, BSD)
- TriCore GCC (Win32, Linux)
- PowerPC GCC (Win32, Linux)
- Apple GCC (Xcode) (Mac OS X)
- Microsoft Visual C++ Toolkit 2003 (Win32)
- Microsoft Visual C++ 2005 (Win32)
- Borland's C++ Compiler 5.5 (Win32)
- DigitalMars C/C++ (Win32)
- OpenWatcom (Win32)
- Intel C++ compiler (Win32)
- Small Device C Compiler (SDCC)
- Digital Mars D (Win32, Linux)
- GDC D Compiler
Уверен, что можно настроить эту ИДЕ и на использование с другими компиляторами.
Так как ИДЕ у нас Free, то и компилятор тоже надо брать free-шный, то есть свободный. И, о чудо, можно скачать CodeBlocks уже в комплекте с компилятором minGW (Minimalist GNU for Windows). Качаем именно этот вариант! (codeblocks-8.02mingw-setup.exe 28 Feb 2008 19.3 MB) последний на момент написания статьи. Есть возможность скачать этот архив с двух сайтов Sourceforge или BerliOS, выбирайте сами. Установка программы тривиальна до безобразия, от вас не потребуется никаких навыков, кроме попадания и клацанья мышкой на нужной кнопке. Поставьте его в C:\Program Files\CodeBlocks , как он и предлагает по-умолчанию. При первом запуске выскочит окошко где надо будет указать компилятор с которым ИДЕ будет работать, если вы скачали архив с minGW, то напротив строки GNU GCC Compiler будет стоять слово Detect, в столбце Status. Жмыхаем дальше и попадаем в саму программу.
Давайте проверим ее работоспособность, выбираем Console Application жмем Create. CodeBlocks сам создал файл и обозвал его main.cpp. Заходим в него
И нажимаем F9. Так же (что равнозначно) можете нажать на иконку, которая находится в верхнем тулбаре, смотрите там идет шестеренка (скомпилить программу в exe-шник), треугольничик play(запустить exe-шник) и шестеренка с кнопкой play(что означает скомпилить, а потом запустить, по буржуйски Build & Run ) всплывающая подсказка подскажет вам, какую кнопку нажать.
Хеллоу Ворлд! Ого, все работает! Поздравляю!
Пару слов об SDL.
Теперь разберемся почему SDL (Simple DirectMedia Layer). Это движок для быстрого и качественного создания графических приложений, в том числе и игр. Его создатель, талантливый программист Sam Oscar Lantinga.
Он был главным программистом(Lead Programmer) в Loki Software(August 1998 - January 2002). Эта компания занималась тем, что портировала игры с одной платформы(Windows) на другую (Linux). Результатом их работы стала библиотека SDL. Которая уменьшала трудозатраты на такого рода перевод игр в разы. Кстати, они же и "родители" OpenAL библиотеки(кросплатформа для звука), которую потом подхватили такие киты как Creative Technology и Apple Computer. Теперь Сэм заслуженно работает в одной из самых известных гейм-девелоперских контор: Blizzard Entertainment.
Движок очень прост в освоении, есть активное комьюнити как на английском, так и на русском. А достаточно большое количество туторов, сделает ваш путь в освоении данного движка более легким. Стоит заметить, что идет постоянное развитие движка как самого ядра, так и дополнительных библиотек(модулей) уже насчитывается порядка 70 штук, отвечающих за работу со звуком, графикой, сетью, системами ввода и т.д. и т.п. К слову говоря, известный всем DosBox так же был написан с использованием SDL.
Как вы уже догадались SDL также работает на многих платформах(он собственно для этого и создавался). И мне кажется логичным объединение этих двух программ. То есть написание игр для различных платформ на кросплатформенном ИДЕ и кросплатформенном движке. И хочу заметить, что все три компонента, а именно ИДЕ(CodeBlocks) + компилятор(minGW) + движок(SDL) - бесплатны. Конечно, они бесплатны в рамках лицензии GNU.
Итак ИДЕ готово, и компилятор настроен, глаза дергаются, а руки делают ;) Остался последний шаг - установить сам SDL.
Ставим SDL.
ШАГ 1. Что же приступим. Возможно, кто-то из вас не узнаете ничего нового, а кому-то это может пригодиться.
Первым делом скачиваем саму библиотеку SDL с офф. сайта. http://www.libsdl.org/download-1.2.php Смотрим в разделе "Development Libraries" будем ставить для Windows значит скачиваем "SDL-devel-1.2.13-mingw32.tar.gz" (это последний релиз на момент написания статьи). Надо ли говорить или повторять из вышесказанного, что нам нужна minGW версия? Думаю, это очевидно ;) .
ШАГ 2. Распаковываем содержимое архива во временную папку ( к примеру в c:\sdl ) Я пользуюсь winRar-ом , но подойдет и другой архиватор, который сможет распаковать SDL-devel-1.2.13-mingw32.tar.gz. Ок.
Теперь нам надо открыть директорию, куда мы установили CodeBlocks и войти в папку include. У меня это C:\Program Files\CodeBlocks\include видите там много разных файлов, сюда нам надо переместить содержимое папки C:\sdl\include , то есть все хидеры(заголовочные файлы SDL). Другими словами из C:\sdl\include берем папку SDL и переписываем в C:\Program Files\CodeBlocks\include ВАЖНО! переписываем именно папку, смотрите:
Далее, содержимое папки c:\sdl\lib переписываем в папку C:\Program Files\CodeBlocks\lib . Так теперь, о том что делать с файлом SDL.dll(он находится в папке c:\sdl\bin), можно поступить двумя способами:
1. поместить этот файл в папку с вашим проектом. Но в этом случае в папку каждого вашего нового проекта надо будет класть этот файл, а иначе проект не запустится, не найдя SDL.dll рядом с собой.
2. можно поместить этот файл в C:\Program Files\CodeBlocks\bin или лучше в C:\Windows\system32 в этом случае, любой проект, скомпиленый для SDL вами или кем-то другим будет спокойно запускаться. Дело в том, что если запускаемое приложение нуждается в какой-то дополнительной библиотеке, то оно ищет эту библиотеку в текущей директории, а если его не находит там, то смотрит в C:\Windows\system32. Таким образом единожды поместив файл SDL.dll в эту папку, не будет никакой необходимости, как в первом случае, гонять этот файл по папкам. Я считаю это самым лучшим вариантом. Но если вы дадите поиграться в вашу новую игрушку другу, то не забывайте рядом с exe-шником положить библиотеку, ведь у него может и не быть этого файла в C:\Windows\system32 .
ШАГ 3. Запускаем CodeBlocks выбираем SDL Application. И у вас сформируется проект, уже с минимальным SDL приложением. Запускаем (F9) и получаем вот это:
Если получаем кучу предупреждений (warnings), значит неправильно переписали папку include. Если компилится, но рушится при запуске, тогда приложение не нашло файл SDL.dll . Если все получилось, то радуемся ;) И можем уже начинать писать какую-нить простенькую игрулину.
Материалы:
|