OGRE1.8.1+MyGUI3.2.0+VS2010 编译配置图文详解

来源:互联网 发布:编程对显卡的要求 编辑:程序博客网 时间:2024/06/06 06:56

一、前期准备

    VS2010的安装没什么好说的,下载后安装好就行了,主要是OGRE和MyGUI的编译配置。
    1.OGRE SDK:http://www.ogre3d.org/download/sdk (我用的OGRE版本为OGRE 1.8.1 SDK for Visual C++ .Net 2010 (32-bit))。
    2. OGRE App Wizard(OGRE工程向导):https://bitbucket.org/jacmoe/ogreappwizards/downloads (下载对应版本即可,我下的就是Ogre_VC10_AppWizard_1.8.0.exe)。
    3.MyGUI和MyGUI Dependencies:http://sourceforge.net/projects/my-gui/files/ (我用的是MyGUI 3.2.0)。

    4. CMake:http://www.cmake.org/cmake/resources/software.html (我下的是cmake-2.8.9-win32-x86.exe)    


二、OGRE的配置

    1.OGRE可以直接下载SDK,所以就不自己编译了,想自己编译的童鞋可以上网查一下。好的,选好目录(我安装的目录在:D:\Program Files (x86))安装OGRE SDK。
    2.设置环境变量,我的电脑->右击选“属性”->高级->环境变量,新建一个环境变量,变量名OGRE_HOME,,变量值D:\Program Files (x86)\OgreSDK_vc10_v1-8-1。
    3.安装 OGRE App Wizard,将下好的Ogre_VC10_AppWizard_1.8.0.exe安装到OGRE SDK的安装目录即可。

    4.好的,现在打开你的VS2010,新建项目就可以看得OGRE的工程模版了:


图片

    

设置好之后点击“确定”:


图片


点击Finish即可。最后,编译运行,效果如下图:


图片

     OGRE的配置到此完成,你已经可以开始OGRE的编程之旅了。


三、MyGUI编译

     将MyGUI_3.2.0.zip和MyGUIDependencies_MSVC_20100109.zip解压到D:\Program Files\MyGUI目录下:


图片

     

首先要编译一下FreeType,打开Dependencies/src目录下的VS工程,在Debug和Release模式下都编译一下。

注意:这步成功的话要在E:\MYGUI\MyGUIDependencies_MSVC_20100109\Dependencies\lib\Debug中生成 2个lib文件:OIS.lib和freetype2311_D.lib;Release中也有2个lib文件:OIS.lib和freetype2311.lib。我编译的时候缺少freetype的lib,需要 从E:\MYGUI\MyGUIDependencies_MSVC_20100109\Dependencies\src\freetype- 2.3.11\objs\win32\vc2005里面复制过来。 

     然后安装CMake,安装完成之后,打开cmake-gui.exe,在"Where is the sourc code"处选择你所安装的MyGUI的目录(我的是D:\Program Files\MyGUI\MyGUI_3.2.0),在“Where to build the binaries”处选择你要创建工程的目录,你可以自行选择,这里我选择了D:\Program Files (x86)\MyGUI。


图片

   

 然后点击左下角的Configure,跳出一个对话框,在下拉框里选Visual Studio 10,点击Finish。


图片
   
  然后会如下图一样,参数框里都是红色。

图片

     

没关系,再点一次左下角的Configure就行了:


图片

     

最后点击左下角的Generate,就在D:\Program Files (x86)\MyGUI目录下生成了MyGUI的VS2010工程。

     在D:\Program Files (x86)\MyGUI目录中打开MYGUI.sln,进行编译,但是会报错找不到boost/thread/tss.hpp,这是因为没有在项目属性中的“包含目录”下加上OGRE SDK下的boost文件夹(我的是D:\Program Files (x86)\OgreSDK_vc10_v1-8-1\boost),还要在“附加库目录”中加上boost目录下的lib文件夹(我的是D:\Program Files (x86)\OgreSDK_vc10_v1-8-1\boost\lib),加上后就行了 。然后在Debug和Release模式下都编译一下,MyGUI的编译就完成了。


四、OGRE中使用MyGUI

     把D:\Program Files (x86)\MyGUI\sdk\bin\debug中的MyGUIEngine_d.dll文件copy到D:\Program Files (x86)\OgreSDK_vc10_v1-8-1\bin\debug下。
     在D:\Program Files (x86)\OgreSDK_vc10_v1-8-1\bin\debug中的resources_d.cfg里的【General】组下,加上MyGUI的MyGUI_Media的路径:“FileSystem=D:/Program Files/MyGUI/MyGUI_3.2.0/Media/MyGUI_Media”。
     在OGRE工程的属性中的“包含目录”中加上:
    (PathToMyGUI)\MyGUIEngine\include
    (PathToMyGUI)\Platforms\Ogre\OgrePlatform\include
  在“附加库目录”中加上:
    (PathToMyGUI)\lib\Release
    (PathToMyGUI)\lib\Debug
 

  在“附加依赖项”中加上:
     (Release模式)MyGUIEngine.lib MyGUI.OgrePlatform.lib
     (Debug模式)MyGUIEngine_d.lib MyGUI.OgrePlatform_d.lib

    注意PathToMyGUI应该是D:\Program Files\MyGUI\MyGUI_3.2.0,而不是D:\Program Files(x86)\MyGUI\MyGUI_3.2.0。
  然后就可以使用MyGUI了,我在OGRE工程向导生成的工程的createScene()函数中加入了如下代码:
    MyGUI::Gui* mGUI;
    MyGUI::OgrePlatform* mPlatform= new MyGUI::OgrePlatform();
    mPlatform->initialise(mWindow, mSceneManager);
    mGUI = new MyGUI::Gui();mGUI->initialise();

    MyGUI::ButtonPtr button= mGUI->createWidget<MyGUI::Button>("Button",10,10,300,26,MyGUI::Align::Default,"Main");
    button->setCaption("exit");
   当然还要加上头文件:
    #include "MyGUI.h"
    #include "MyGUI_OgrePlatform.h"

   编译运行,效果如下图: 


图片

原创粉丝点击