zoukankan      html  css  js  c++  java
  • 【转载】OGRE 2.1 Windows 编译

    OGRE 2.1 Windows 编译

    环境:
      Windows 7 64Bit
      Visual Studio 2012
      OGRE 2.1
      CMake 2.8.12.1

    OGRE:
      OGRE官方推出了最新的OGRE2.1版本,链接地址:
        https://bitbucket.org/sinbad/ogre/downloads
      新版本的OGRE做出了大量的修改,从官方给出的文档我们可以看出作者们对OGRE进行了优化与完善。从上面链接中下载的官方版本并没有包含编译需要的依赖项(一向都这样),所以我们需要下载OGRE的依赖。

    OGRE Dependencies : ogredeps
      ogredeps工程可以在一下的链接地址下载到:
        https://bitbucket.org/cabalistic/ogredeps/downloads
      这些开源项目因为许可等种种原因搞的非常麻烦,在这个下载项中有没有SDL,所以我们还得另外下载SDL。

    SDL:
      在上述链接地址的“Source”页面中,列举出了依赖项源代码的目录树,打开“src”文件夹会看到“SDL2”的链接,然后打开这个链接后,我们就会在新的页面找到SDL2的下载地址(其实也很难找),如下图所示。

      将解压后的“./SDL-c3c3cdaf37f9”中的所有文件拷贝到ogredeps解压后的“./src/SDL2”文件夹中。

    ogredeps 编译:
      现在可以编译OGRE的依赖了,首先需要使用CMake生成工程项目,在CMake的“Where is the source code:”输入源代码位置,像这样:“...cabalistic-ogredeps-eb18d4651ec7”,在“Where to build the binaries:”中输入输出位置,像这样:“...cabalistic-ogredeps-eb18d4651ec7output”(output文件夹自己新建,可随意指定),然后点击“Configure”,选择编译器版本(如:Visual Studio 11.0),配置成功后CMake输出文本框会显示“Configuring done”,最后点击“Generate”生成vs工程项目,生成成功后会显示“Generating done”。如下图所示。

      上述操作步骤成功后就可以进入“...output”文件夹,用vs2012打开.sln项目的,然后选择“ALL_BUILD”工程项目,进行“全部重新编译”,编译成功后选择“INSTALL”工程项目进行“重新编译”,编译成功后会在“...output”文件夹中生成“ogredeps”文件夹,该文件夹中包含了所有OGRE编译所需要的所有依赖项目。

    OGRE 编译:
      编译步骤同上面编译ogredeps步骤相似(需要提前安装Direct X),只不过需要将上面“ogredeps”文件夹拷贝到解压后的文件夹“...sinbad-ogre-51e90cec4c17”中
    (这里我在生成工程项目的时候,CMake总是在一个叫“...Dependencies”的文件中寻找依赖项,而不在ogredeps中寻找,可能是我的CMake配置有关系,最后没有办法我只能将刚才拷贝过来的“ogredeps”文件夹改名为“Dependencies”,如果知道原因的同学,可以在评论中指点),如下图所示。

      当“Configure”和 “Generate”成功后,就可以在“...output”中着调.sln工程项目,打开工程后还是依次编译“ALL_BUILD”和
    “INSTALL”两个工程,编译成功后就将工程“SampleBrowser”设置为“启动项”,运行就可以看到OGRE官方例子。

    问题:

      由于我没有安装Direct3D11,所以运行出现如下错误:

      只需要将“...Outputindebug”文件夹中配置文件plugins_d.cfg中的“Plugin=RenderSystem_Direct3D11_d”用“#”注释掉即可。
    最终运行结果如下如所示。

  • 相关阅读:
    utf-8编码汉字转换成对于的16进制 10进制对于的值
    CentOS 6和CentOS 7命令区别
    dedecms二次开发帮助文档地址
    DEDE整站动态化或整站静态化设置方法
    dede数据库表结构和dedecms数据库字段说明
    c++如何编写线程安全的DLL
    Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa)
    Winsock 示例
    命名管道的使用方式:消息模式/字节模式
    命名管道-简单的例子
  • 原文地址:https://www.cnblogs.com/zhehan54/p/5548131.html
Copyright © 2011-2022 走看看