Ogre学习笔记系列-1: 编译orge1.7.1(Cthugha)

本文详细记录了在Windows XP SP3上,使用CMake和Visual Studio 2010编译Ogre 1.7.1的过程。包括下载必要的依赖库(如DirectX SDK、Boost、Poco等),配置编译路径,解决ZLIB、FreeImage、FREETYPE等找不到的问题,以及如何添加Boost、TBB、POCO、CppUnit和Doxygen的支持。通过设置环境变量和修改CMake配置文件,最终成功生成ogre.sln解决方案。

编译环境:windows XP SP3,cmake,本地编译工具vs2010【原创文章,转载请注明出处】

1, 下载ogre 1.7.1,下载ogre 1.7.1 source for windows 和 Microsoft visual c++ dependencies package

2. 下载cmake 【编译工具】

3. 下载DirectX SDK【图形库】【编译directx render system必须】

4. 下载boost模板库【时钟,线程等】【可选】

5. 下载poco网络库,basic edition就可以【可选】

6. 下载TBB多核编程库【可选】

7. 下载CppUnit单元测试库【可选】

8. 下载Doxygen文档生成工具【可选】

9. 准备编译路径,在本机上建立路径ogre,dependencies, output

     将ogre源文件解压到ogre下

    将可选库全部解压到dependencies下

    output用于cmake生成工程文件

10. 运行cmake-gui,source code路径选ogre,目标编译输出路径选output,直接尝试configure,选择编译工具VS2010,出现如下错误:

Configuring OGRE 1.7.1
Search path: C:/ogre;C:/ogre/Test/Dependencies;C:/ogre/ogre_src_v1-7-1/Dependencies;C:/ogre/Test/../Dependencies;C:/ogre/ogre_src_v1-7-1/../Dependencies
Looking for ZLIB...
Could not locate ZLIB
Looking for FreeImage...
Could not locate FreeImage
Looking for FREETYPE...
CMAKE_PREFIX_PATH: C:/ogre;C:/ogre/Test/Dependencies;C:/ogre/ogre_src_v1-7-1/Dependencies;C:/ogre/Test/../Dependencies;C:/ogre/ogre_src_v1-7-1/../Dependencies
Could not locate FREETYPE
Looking for DirectX...
DirectX_PREFIX_PATH changed.
Could not locate DirectX
Looking for Cg...
Could not locate Cg
Looking for POCO...
Could not locate POCO
Looking for TBB...
Could not locate TBB
Looking for OIS...
OIS_PREFIX_PATH changed.
Could not locate OIS
Could NOT find Doxygen  (missing:  DOXYGEN_EXECUTABLE)
Looking for CppUnit...
Could not locate CppUnit
CMake Error at CMake/Utils/MacroLogFeature.cmake:100 (MESSAGE):
 


  -----------------------------------------------------------------------------


  -- The following REQUIRED packages could NOT be located on your system.

  -- Please install them before continuing this software installation.

  -- If you are in Windows, try passing -DOGRE_DEPENDENCIES_DIR=<path to
  dependencies>


  -----------------------------------------------------------------------------


  + freetype: Portable font engine <http://www.freetype.org>


  -----------------------------------------------------------------------------
Call Stack (most recent call first):
  CMake/Dependencies.cmake:203 (MACRO_DISPLAY_FEATURE_LOG)

11. 尝试先将cmake提示的OGRE_DEPENDENCIES_DIR的路径修改为/pathtodependencies/或为/pathtodenpendencies/src会出现同样的错误,尝试先编译所有的外部依赖,编译外部依赖时OIS需要使用directx,下载directx最新SDK,重新编译。同时编译debug和release版本

12. 重新configure,发现已经可以完成。但是可能出现如下问题:directx could not be located。若出现此问题,打开文件ogresrcpath/CMake/Packages/FindDirectX.cmake,查找# construct search paths, 将源文件修改为

   # construct search paths
  set(DirectX_PREFIX_PATH
    #"${DXSDK_DIR}" "${ENV_DXSDK_DIR}"
    #"${DIRECTX_HOME}" "${ENV_DIRECTX_HOME}"
    #"${DIRECTX_ROOT}" "${ENV_DIRECTX_ROOT}"
    #"${DIRECTX_BASE}" "${ENV_DIRECTX_BASE}"
    #"C:/apps_x86/Microsoft DirectX SDK*"
    #"C:/Program Files (x86)/Microsoft DirectX SDK*"
    #"C:/apps/Microsoft DirectX SDK*"
    "C:/Program Files/Microsoft DirectX SDK (June 2010)" #此路径为你机器上directx sdk安装路径
    #"$ENV{ProgramFiles}/Microsoft DirectX SDK*"
  )

13, configure完成,cmake会用红色高亮提示可以选择的编译选项,进行选择后,重新进行configure,完成后红色高亮消失,generate按钮可以使用

14. Boost支持,将boost源代码复制到你所建好的dependencies路径下面,重新configure

15. TBB支持,将TBB库放在任意路径中,新建环境变量TBB_HOME,此变量指向TBB安装路径,并在pathtoogrce/CMake/Packages/FindTBB.cmake第59行后增加:

if (MSVC10)
    set(COMPILER_PREFIX "vc10")
  endif ()

并将第67行修改为: list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32/${COMPILER_PREFIX})

16. POCO支持,将POCO放在任意路径中并新建环境变量POCO_HOME指向安装路径并编译好项目Foundation,Net,NetSSL, XML

17. CPPUnit支持,将CPPUnit放在任意路径中并设定CPPUNIT_HOME指向此路径,同时编译好所有项目

18. Doxygen支持, 下载exe版本安装,重新执行configure

19. 在所有配置完成之后点击generate,cmake将在你选择生成编译目标文件的路径下生成ogre.sln,至此cmake工作任务完成

20. 在vs2010中编译ogre.


菊子曰 本文用 菊子曰发布
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值