Nebula CommunityСтатьи

Разбор кода Nebula Device2. Часть 2. Сборка движка (статья 1- генерация решений и проектов).

Автор:

Сборка библиотек движка Nebula Device2


Вступление

В данной статье я описываю процесс сборки движка небула. При этом я пользовался мануалом Build System GUI User Manual  из файла nebuladevice-code-3307-trunk\nebula2\buildsys3\docs\Manual и исходил из логических рассуждений в тех местах, которые упущены в мануале. Не скажу наверняка, что это правильный способ. Мне нужен был результат и я сделал так, как смог.

При сборке движка небулы исходный код движка компилируется в статические библиотеки, которые затем могут быть скомпонованы с вашим собственным приложением. Результат такой компоновки зависит полностью от программиста – что и как он будет писать с помощью небулы от движка не зависит. Можно написать игру, а можно и просто хелловорд.

Требования

При сборке движка понадобится интегрированная среда разработки Microsoft Visual C++ 2008 Express Edition (msvc2008ee). На нем будут собираться статические библиотеки (либы) движка. Дело в том, что версия msvc2008ee наиболее близка к версии 2005-го года, которая является максимальной версией, проект которой может быть собран системой сборки небулы. IDE msvc2008ee была в свое время достаточно популярна, да и пока она субъективно удобнее для меня. Если у вас она не установлена, то нужно ее скачать и установить. Не так давно я скачивал ее отсюда.

Еще для сборки движка потребуется установленный DXSDK. Нужен будет DXSDK не позднее 2007 и не ранее 2005 года. Можно попробовать скачать отсюда

Если что, могу залить на файлообменник версию за июнь 2007 года. Придется скачать еще достаточно много разных библиотек, но это я буду описывать по ходу изложения материала.

Генерация проектов небулы


Далее я буду предполагать, что проект будет собираться в папке D:/Documents. Можно использовать любую другую папку. Но так как я всю сборку провел в папке D:/Documents, то буду пользоваться при описании ей.

Итак, приступим.Скачиваем исходники небулы отсюда(download snapshot).Исходники представляют из себя архив nebuladevice-code-3307-trunk. Копируем его в папку D:/Documents. Распаковываем архив с исходниками так, чтобы не было двух папок с именем nebuladevice-code-3307-trunk, вложенных одна в другую. Для этого можно стереть в пути распаковки часть пути  - я выделил ее на рисунке ниже:


pic01 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).

Должен получиться такой путь к папке nebula2, в которой лежат папки appwiz, bin, buildsys3 и т.д.:

D:\Documents\nebuladevice-code-3307-trunk\nebula2

Далее при описании операций я буду опускать эту часть пути. Для работы системы сборки проектов небулы необходимы две  библиотеки: библиотека языка программирования python и модуль gui wxPython2.6. Скачать wxPython2.6 можно отсюда. Я выбрал дистрибутив с поддержкой юникода: wxPython2.6-win32-unicode-2.6.0.0-py24.

Для работы библиотеки wxPython2.6 требуется python версии 2.4. Я выбрал версию 2.4.4 как самую пофиксенную подверсию версии 2.4. Установочные файлы для python 2.4.4 можно скачать отсюда. Выбираем дистрибутив: For x86 processors: python-2.4.4.msi

Теперь необходимо установить python2.4.4 и wxPython2.6. Сначала нужно установить python 2.4.4.

Запускаем инсталлятор python 2.4.4:


pic02 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).
Путь для установки я не менял (так как при этом меньше геморроя):
C:\Python24
pic03 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).

При установке python, и это важно, я не отключал опцию “Register Extensions”, чтобы можно было запускать файлы с расширением .py двойным кликом. Оставил включенным еще “Utility Scripts”.


pic04 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).
Жмем “Next” :
pic05 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).

И далее “Finish”.

Я не знаю как может пойти сборка движка в том случае, если до установки python2.4.4 уже была установлена другая более новая версия python. При этом может случиться так, что по умолчанию двойной клик по файлам с расширением .py будет вызывать запуск интерпретатора python более новой версии и генератор проектов может работать неправильно. Совет тут может быть такой. Если с генерацией решений будут косяки, нужно удалить все установленные дистрибутивы python и wxPython, в том числе и более новые версии python, установить python2.4.4 и wxPython2.6, выполнить все последующие шаги по генерации решений, а потом можно установить обратно ту более новую версию python, которую вы удалили.

Нужно сказать, что я сам долго мучался с установкой, наверное раз 15 переустанавливал разные версии python  и wxPython. У меня уже была установлена версия python 3.1.4 и расширение .py было настроено на интерпретатор python этой версии. В итоге пришел к такому решению:

Продолжим. После установки python2.4.4  запускаем установщик библиотеки wxPython2.6 двойным кликом.


pic06 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).

Жмем “Next”. Далее выйдет окошко, в котором нужно согласиться с лицензией, нажав кнопку “Yes”.

При установке лучше не менять тот путь, который предлагается по умолчанию:

C:\Python24\Lib\site-packages


pic07 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).

Далее выйдет окно, в котором нужно выбрать тип установки. Выбираем
Custom installation – оставляем галочку напротив “wxPython modules and library” и
галочку напротив опции “ Make this install be the default wxPython”.


pic08 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).

В конце установке я снял галочки с пунктов:


pic09 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).
Жмем кнопку “Finish”.

После установки вышеописанных библиотек  переходим к генерации решений движка. Для этого двойным кликом запускаем файл update.py в папке nebula2. Этим действием вы запустите генератор проектов “Nebula 2 Build System”.


pic10 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).

Мне от небулы был нужен вообщем-то пока только движок, поэтому я использовал следующие настройки.

Вкладка “Workspace generation”

В списке “Generator” выбираем: vstudio8.
Это максимальная версия msvc, для которой генератор способен создать проект.

Отмечаем пункт списка “Workspaces”:


-nebula2libs

Остальные галочки я не отмечал – мне нужен голый движок.

Жмем кнопку “Run”. Если все нормально через несколько секунд или минут выскочит окошко “Build Summary”, в котором будет написано “All done! Built 2 workspaces”.


pic11 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).
Жмем “Close” чтобы закрыть приложение. В папке nebula2 появится папка “build” с проектами:
pic12 | Разбор кода Nebula Device2. Часть 2.  Сборка движка (статья 1- генерация решений и проектов).
В следующей статье будет описан процесс донастройки проектов в решении и установка некоторых библиотек для работы с медиаформатами, без которых движок не собирается.

Продолжение

#движок, #сборка небулы

20 января 2016 (Обновление: 24 янв 2016)

Комментарии [4]