Sunday, February 15, 2015

Сборка Ogre3D 2.1 под Ubuntu 14.10



Для начала надо установить зависимости(считаем,что C++ компилятор и cmake уже развернуты)-тут фокус с вручную указанными зависимостями не прокатит(Deps папка,и add_subdirectory в корневом CmakeFiles.cmake):
sudo apt-get install libfreetype6-dev libboost-date-time-dev libboost-thread-dev nvidia-cg-toolkit libfreeimage-dev zlib1g-dev libzzip-dev libois-dev libcppunit-dev doxygen libxt-dev libxaw7-dev libxxf86vm-dev libxrandr-dev libglu-dev libsdl2-dev

Cmake'ом генерируем проект,типа unix-makefile

В терминале(ctrl+alt+t):
Переходим в директорию cmake бинарников(поле cmake binaries)
cd этот путь

Запускаем на компиляцию(имя корневого make файла MakeFile)
make -f MakeFile

Тут может вылезти ошибка,из-за драйверов nvidia-при сборке GL3+ рендер модуля
Как ее решать,я нагуглил,но ссылку найти не могу-суть в том,что переименовали ссылку на libgl.so. Как нибудь точно напишу(посмотрю в истории) [TODO]
Для 32 битной Ubuntu это выглядит вот так
$sudo ln -s /usr/lib/i386-linux-gnu/libGLU.so.1 /usr/lib/libGL.so

Для 64 битной Ubuntu это выглядит вот так
$sudo ln -s /usr/lib/x86_64-linux-gnu/libGLU.so.1 /usr/lib/libGL.so

Потом начинаем собирать.
Для первой сборки собирать с семплами нельзя!-Это мой косяк,даже нет,это фича.
А фича вот почему-мой способ сборки(папка Deps+правка для CmakeFiles) дает возможность не билдить эти зависимости отдельно.

Посему сначала билдим без семплов->собираем->тут уже собираются зависимости->потом собираем еще раз cmake проект->собираем с семплами

Дело в том,что для семплов жестко указана зависимость от SDL2. Пока я не корректировал это.

Запускаем:
В терминале: cd папка из cmake binaries
Вызываем: ./Имя проекта

Если будет ругаться на то,что файл не является запускаемым,то делаем его таким:
chmod +x file


Ну и результат:


Про CLION

Собрать через корневой файл cmake,не удалось,только если собирать по отдельности каждый файл проекта.. Это мне не подходит..хочется собирать все сразу.. Посему отложил-чуть позже напишу cmake файл сборки движка который будет подключать все необходимое и .idea проект к нему