понедельник, 1 марта 2010 г.

Ogre3D. Сборка из исходников под Microsoft Visual Studio 2008

Сегодня будем собирать Ogre из исходников. Можно конечно скачать уже готовые сборки, но из исходников-то интереснее, да и при разработке можно посмотреть реализацию то или иного метода, чтобы лучше понять механизм работы без документации.

  1. Качаем и устанавливаем DirectX, если не установлен.
  2. Качаем библиотеки для Ogre
  3. Качаем сам Ogre, либо можно скачать из SVN
  4. Качаем CMake
  5. Извлекаем папку ogre. В моем случае - это C:\Libs\cpp\ogre
  6. Извлекаем библиотеки из архива (Dependencies) и помещаем в папку ogre. Получится C:\Libs\cpp\ogre\Dependencies
  7. Переходим в C:\Libs\cpp\ogre\Dependencies\src, запускаем OgreDependencies.VS2008.sln и собираем зависимости
  8. Пропишем пути к библиотекам (Tools->Options->Projects and Solutions->VC++ Directories).

    Show directories for:
    Include files:
    C:\Libs\cpp\ogre\Dependencies\include
    C:\Libs\cpp\ogre\Samples\Common\include
    C:\Libs\cpp\ogre\OgreMain\include
    $(DXSDK_DIR)\Include (где DXSDK_DIR у меня - C:\Libs\cpp\DirectXSDK\)
    Library files:
    C:\Libs\cpp\ogre\Dependencies\lib\Debug
    C:\Libs\cpp\ogre\Dependencies\lib\Release
    $(DXSDK_DIR)\Lib
    Source files:
    C:\Libs\cpp\ogre\OgreMain\src
  9. Запускаем установленную CMake и прописываем следующее:
    Where is the source code: C:/Libs/cpp/ogre
    Where to build the binaries: C:/Libs/cpp/ogre/VCBuild (папку VCBuild создавать не надо)

  10. Жмем "Configure", выбираем свой компилятор (MSVS2008 в моем случае), соглашаемся на создание папки, отмечаем необоходимые опции создания, жмем "Generate", ждем, пока создастся решение с проектами.
  11. После создания заходим в C:\Libs\cpp\ogre\VCBuild, запускаем OGRE.sln. Собираем ogre. У меня сборка заняла приблизительно 20 минут.
  12. Все! Поздравляю, ogre собран.

2 комментария :

GLeBaTi комментирует...

1 - обязательно, перед cmake необходимо скомпилировать(release) dependencies в visual studio.

Руслан комментирует...

Скачал последнюю версию зависимостей. Надо собирать. Возможно в тот раз все было скомпилировано, поэтому я пропустил этот шаг