Понедельник, 21.05.2018, 09:08
Мир Irrlicht
Главная | Форум | Статьи | Файлы | Регистрация | Вход
Меню сайта
Категории каталога
Для начинающих [5]
Наш опрос
Приходилось ли вам иметь дело с Irrlicht?
Всего ответов: 908
Главная » Статьи » Для начинающих

Подготовка к работе
Для того чтобы скачать последнюю версию Irrlicht есть 2 пути: скачать последнюю release-версию (это самый быстрый и простой способ), скачать svn-версию (этот способ несколько медленнее, зато имеет ряд преимуществ о которых будет сказано ниже).

Release-версия Irrlicht SDK

Последнюю release-версию можно скачать со страницы загрузок с официального сайта Irrlicht Engine -- http://irrlicht.sourceforge.net/downloads.html. Так вы получите готовую откомпилированную библиотеку максимально быстро. Недостатком такого подхода является то что release-версии выходят довольно редко, в среднем раз в 3-6 месяцев. На момент написания этой статьи последняя версия Irrlicht SDK является 1.3.1. Архив весит 15,9 Мб. В архиве есть вся документация (на английском), уроки, include-файлы (или "хедер" файлы), lib-файл и готовая Irrlicht.dll. Так же есть несколько инструментов для работы со шрифтами и сценами.

SVN-версия Irrlicht SDK

SVN-версия, это такая версия, когда вы получаете самые последние исходные файлы движка, тоесть все обновления, последние баг-фиксы, дополнения и прочее. Все то, что в будущем попадёт в следующую release-версию. Для того чтобы скачать svn-версию, у вас должен стоять svn-клиент (это такая программа, которая умеет синхронизировать состояние ваших локальных файлов с файлами на svn-сервере). Лично я пользуюсь Tortoise SVN.

Скачав и установив svn-клиент, создайте папку у себя на диске и выполните Update в созданную папку следующего адреса:
https://irrlicht.svn.sourceforge.net/svnroot/irrlicht
Будет скачано более 250 Мб. Так много только потому, что там есть исходники всех релизов Irrlicht Engine. Теперь нужно откомпилировать скачанный Irrlicht SDK. Для этого откройте проект \trunk\source\Irrlicht\Irrlicht8.0.sln в Visual Studio 2005 (там также есть проектный файл для Visual Studio 2003).


Для успешной компиляции без изменений настроек, у вас также должен стоять Microsoft DirectX SDK 8.1 и Microsoft DirectX SDK 9. Я лично успешно компилировал с поддержкой DX9. DX8 SDK не скачивал и с ним не пробовал компилировать. Вы можете откомпилировать Irrlicht с поддержкой только OpenGL, для компиляции с которым дополнительного SDK не требуется. Настройка Irrlicht Engine задается в файле \include\IrrCompileConfig.h. При помощи директивы препроцессора define там задаётся ряд фич которые будут поддерживаться скомпилированной Irrlicht.dll. Если у вас нет DX8 SDK и DX9 SDK, тогда найдите закоментируйте следующие строки:
#define _IRR_COMPILE_WITH_DIRECT3D_8_
#define _IRR_COMPILE_WITH_DIRECT3D_9_
Теперь Irrlicht Engine откомпилируется даже без наличия DX SDK. Так же в файле можно отключить другие рендереры. Результатом компиляции (1-2 минуты) из нужных нам файлов будет Irrlicht.lib (попадёт в \bin\Win32-VisualStudio\) и Irrlicht.dll (попадёт в \lib\Win32-visualstudio\).

Настройки проекта в Visual Studio

К этому моменту у вас должен быть Irrlicht SDK (откомпилированная svn-версия или скачанная release-версия). Далее я расскажу как настроить пути для проекта в Visual Studio 2005. Если у вас другая версия Visual Studio, думаю схожеть действий будет максимальна.

Создайте новый пустой "Win32 Console Application" проект в Visual Studio. Добавьте в проект любой пустой С++ файл (например, main.cpp). Откройте свойства проекта и в дереве слева выберите Configuration Properties -> С/C++ -> General, в Additional Include Directories добавьте путь к папке \include вашего Irrlicht SDK. Выберите в дереве слева Configuration Properties -> Linker -> General, в Additional Library Directories добавьте путь к папке \lib\Win32-visualstudio\. Теперь для проверки в main.cpp введите следующий тестовый код:
#include "irrlicht.h"

#pragma comment(lib, "Irrlicht.lib")
int main()
{
irr::IrrlichtDevice *irrDevice =
irr::createDevice(irr::video::EDT_OPENGL);

while(irrDevice->run())
{
irrDevice->getVideoDriver()->beginScene(true, true,
irr::video::SColor(0,0,255,0));
irrDevice->getVideoDriver()->endScene();
}

irrDevice->drop();
return 0;
}
Этот пример должен успешно компилироваться и запускаться показывая зеленое окно.

Ошибки компиляции и их решение

  • Cannot open include file: 'irrlicht.h': No such file or directory
    При компиляции не был найден Irrlicht.h. Проверьте правильность пути к \include папке, и проверьте правильность написания названия самого хедер-файла в #include.
  • Cannot open file 'Irrlicht.lib'
    При линковке не был найден Irrlicht.lib. Проверьте правильность пути к \lib\Win32-visualstudio, и проверьте правильность написания названия самого библиотечного файла в #pragma comment.

Ошибки времени выполнения и их решение

  • Приложению не удалось запуститься, поскольку Irrlicht.dll не был найден. Повторная установка приложения может исправить эту проблему.
    Это сообщение выводится пользователю если Irrlicht.dll не был найден в текущей папке. Visual Studio 2005 после компиляции запускает ваше приложение находясь в папке проекта, например debug\myproram.exe. Таким образом Irrlicht.dll должна лежать в папке проекта. Visual Studio 2003 запускает откомпилированный проект изначально перейдя в папку куда и производилось компилирование, например папка debug. Поэтому в таком случаи Irrlicht.dll ожидается в папке с выполняемым файлом.
    Если вы запускаете проект не через Visual Studio, а просто из папки, то в этой папке рядом с выполняемым файлом должна лежать Irrlicht.dll.
  • Приложение вылетает с недопустимой операцией.
    Это может быть любая ошибка в вашем приложении. Например, вы создаёте устройство Irrlicht и не проверяя результат, вызываете метод созданного объекта. Обычно функции "create" в Irrlicht возвращают 0 если попытка создать объект не удалась. Та же функция createDevice() может возвратить 0, если вы попытаетесь создать полноэкранное устройство с разрешением 999 на 777 точек. Такое разрешение экрана драйвер и/или монитор вряд ли поддерживают. В этом случаи createDevice() возвратит 0 (что не будет критической ошибкой), но этот же 0 мы не проверяя используем в цикле while вызывая irrDevice->run() (что недопустимо).
Категория: Для начинающих | Добавил: greenya (29.09.2007) | Автор: greenya
Просмотров: 9063 | Комментарии: 3 | Рейтинг: 4.9/7 |

Всего комментариев: 3
2  
Переходим по ссылке -- http://www.microsoft.com/downloa....lang=en

1  
я не совсем могу разобраться как скачать по ссылке Microsoft DirectX SDK 9...

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2018 Создать бесплатный сайт с uCoz