вот что я пытаюсь достичь:
Перво-наперво, я на Ubuntu 17.10. Моя цель — скомпилировать Ogre3D, а затем собрать пример программы, как описано на базовой странице настройки проекта cmake: Настройка Ogre3D 1.10 cmake
Я успешно скомпилировал Ogre и установил его как обычно (в /usr/local
) для большей простоты при компиляции моего собственного проекта. В общем, я закончил с:
Файлы моего проекта, созданные и созданные с помощью этого CMakeLists.txt
:
cmake_minimum_required(VERSION 3.9)
find_package(OGRE 1.10 REQUIRED)
include_directories(${OGRE_INCLUDE_DIRS})
link_directories(${OGRE_LIBRARY_DIRS})file(COPY ${OGRE_CONFIG_DIR}/plugins.cfg ${OGRE_CONFIG_DIR}/resources.cfg DESTINATION ${CMAKE_BINARY_DIR})
project(Ogretest)
add_executable(Ogretest main.cpp)
Очевидно, что с Ogre, установленным в / usr / local, это работает как есть, но в противном случае я должен указать правильный путь. Ничего из этого не является проблемой.
На данный момент некоторые вещи захватили мое внимание.
Пример браузера, созданного в то же время, что и остальная часть Ogre, который зависит от того же компонента OgreBites, который используется в учебном пособии, вообще не работает по причудливой причине, что libfreetype.so.2.6 не найден. Конечно же, freetype на самом деле создается при настройке cmake для сборки Ogre, и я действительно не понимаю, почему у него возникнут какие-то проблемы.
Пример программы не компилируется из-за SDLK_ESCAPE не быть объявленным, или, скорее, не в нужном объеме. Это очень раздражает, так как я практически не знаю, связано ли это с проблемой Ogre, SDL или чем-то еще. Я догадываюсь, что в моей системе есть серьезная проблема с OgreBites.
Так.
Видя, что этот «учебник» по сборке и использованию последней версии Ogre с cmake … в лучшем случае расплывчатый и действительно сводится к тому, чтобы «скопировать файл примера и каким-то образом собрать ваши вещи», у меня действительно есть только два варианта.
Либо кто-то пытается указать мне, чтобы выяснить, какая безумная проблема преследует меня, или, и я думаю, что это было бы более интересно, кто-то строит Ogre, и этот пример программы сам показывает, что именно он сделал (даже если я готов поспорить, никто не собирается иметь проблемы, но эй)
(Кроме того, оставаясь лучшим для конца, я думал, что установка результатов сборки с помощью sudo make install была хорошей идеей, но у make-файла нет опции удаления, и я рад, когда дело доходит до очистки установки. Если у кого-то нет идеи ?)
libfreetype.so.2.6
построен Ogre, но не установлен make install
, Я не знаю почему. Поместить его туда, где его может найти компилятор (sudo cp Dependencies/lib/libfreetype.so* /usr/local/lib/
) работал на меня. Мне не понравилось это делать.OgreBites::SDLK_ESCAPE
и это скомпилируется.Других решений пока нет …