Ogre3D: сборка примера программы (Samples / Tutorial / Bootstrap.cpp)

вот что я пытаюсь достичь:

Перво-наперво, я на Ubuntu 17.10. Моя цель — скомпилировать Ogre3D, а затем собрать пример программы, как описано на базовой странице настройки проекта cmake: Настройка Ogre3D 1.10 cmake

Я успешно скомпилировал Ogre и установил его как обычно (в /usr/local) для большей простоты при компиляции моего собственного проекта. В общем, я закончил с:

  • Текущий исходный код Ogre3D (клонирован из github)
  • Постройте результаты из этого исходного кода (как объяснено в соответствующем файле справки в источниках). Имейте в виду, что на этом этапе все существенные зависимости выполнены, и сборка завершается без каких-либо проблем.
  • Файлы моего проекта, созданные и созданные с помощью этого 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, это работает как есть, но в противном случае я должен указать правильный путь. Ничего из этого не является проблемой.

  • Файл main.cpp, который является просто копией файла Bootstrap.cpp, упомянутого в руководстве. Я добавил его в проект, затем попытался построить.

На данный момент некоторые вещи захватили мое внимание.

  • Пример браузера, созданного в то же время, что и остальная часть Ogre, который зависит от того же компонента OgreBites, который используется в учебном пособии, вообще не работает по причудливой причине, что libfreetype.so.2.6 не найден. Конечно же, freetype на самом деле создается при настройке cmake для сборки Ogre, и я действительно не понимаю, почему у него возникнут какие-то проблемы.

  • Пример программы не компилируется из-за SDLK_ESCAPE не быть объявленным, или, скорее, не в нужном объеме. Это очень раздражает, так как я практически не знаю, связано ли это с проблемой Ogre, SDL или чем-то еще. Я догадываюсь, что в моей системе есть серьезная проблема с OgreBites.

Так.

Видя, что этот «учебник» по сборке и использованию последней версии Ogre с cmake … в лучшем случае расплывчатый и действительно сводится к тому, чтобы «скопировать файл примера и каким-то образом собрать ваши вещи», у меня действительно есть только два варианта.

Либо кто-то пытается указать мне, чтобы выяснить, какая безумная проблема преследует меня, или, и я думаю, что это было бы более интересно, кто-то строит Ogre, и этот пример программы сам показывает, что именно он сделал (даже если я готов поспорить, никто не собирается иметь проблемы, но эй)

(Кроме того, оставаясь лучшим для конца, я думал, что установка результатов сборки с помощью sudo make install была хорошей идеей, но у make-файла нет опции удаления, и я рад, когда дело доходит до очистки установки. Если у кого-то нет идеи ?)

0

Решение

  1. libfreetype.so.2.6 построен Ogre, но не установлен make install, Я не знаю почему. Поместить его туда, где его может найти компилятор (sudo cp Dependencies/lib/libfreetype.so* /usr/local/lib/) работал на меня. Мне не понравилось это делать.
  2. Измените это на OgreBites::SDLK_ESCAPE и это скомпилируется.
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]