OGRE3D:构建示例程序(samples/tutorial/bootstrap.cpp)



,所以这是我要实现的目标:

首先,我在Ubuntu 17.10上。我的目标是编译OGRE3D,然后构建示例程序,如基本CMAKE项目设置页面:OGRE3D 1.10 CMAKE SETUP

我已经成功地编译了食人魔并像往常一样(在/usr/local中(安装了OGRE,以便在编译自己的项目时更轻松。因此,基本上,我最终得到了:

  • 当前的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)
    

显然,在/usr/local中安装了OGRE时,这会起作用,但否则我必须指定正确的路径。这都不是一个问题。

  • main.cpp文件,它只是教程中提到的bootstrap.cpp文件的副本。我将其添加到项目中,然后尝试构建。

此时,有些事情引起了我的注意。

  • 与其他OGRE的其余部分同时构建的样品浏览器取决于教程中使用的相同的Ogrebites组件,根本不起作用,因为这是因为libfreetype.2.6.2.6找不到。果然,实际上是在Ogre构建的CMake配置期间构建的,我真的不知道为什么它会遇到任何问题。

  • 示例程序未根据 sdlk_escape 未被声明,或者不在正确的范围中进行编译。这很烦人,因为我几乎不知道这是否是由于OGRE,SDL或其他任何其他问题所致。我的直觉是,我的系统上有一个严重的问题。

所以。

看到这个"教程"用于构建和使用CMAKE的最新版本的Ogre充其量是...充其量是含糊的,似乎总结了"复制示例文件并以某种方式构建您的东西",我真的只有两个选项在这里。

有人试图指示我找出困扰我的任何疯狂问题,或者我认为这会更有趣,所以有人构建了Ogre,并且该示例程序本身也表明了他们的所作所为(即使我准备好了打赌,没有人会遇到问题,但是(

(也要保持最佳状态,我认为使用sudo make安装安装构建结果是一个好主意,但是makefile没有卸载选项,在清洁安装方面,我很诚实。除非有人有一个想法吗?(

  1. libfreetype.so.2.6是由OGRE构建的,但不安装make install。我不知道为什么。将其放置在编译器可以找到它的地方(sudo cp Dependencies/lib/libfreetype.so* /usr/local/lib/(对我有用。我不喜欢这样做。
  2. 将其更改为OgreBites::SDLK_ESCAPE,并将其编译。

最新更新