Ogre源码编译步骤

来源:互联网 发布:英国大学 档次 知乎 编辑:程序博客网 时间:2024/05/20 16:35

这篇文章虽然是标记为原创,实则是作者在根据网络中各个文章资料自己编译ogre源码实现记录。所以哪位原作者在这篇文章中看见类似或一样的片段,请不要怪罪。

一、编译生成Ogre 1.8.1源代码

0、我的系统环境

操作系统:64Windows7 
编译环境:Visual Studio 2010 
编译ogre1.8.1源码。

先决条件:

1.从官网下载页面点击"Download a source package",然后选择源代码下载包。

此处我选择最新版的OGRE 1.8.1 Source For Windows。

这里给出下载链接地址:http://www.ogre3d.org/download/source

2.确保电脑上安装了DirectX SDK,建议用Feb10或June10版的,没有的童鞋请到

http://www.microsoft.com/en-us/download/details.aspx?id=6812下载并安装。

3.包含dll,头文件,lib等内容的Dependencies,我们选用OgreDependencies_MSVC_20101231

在Old Microsoft Visual C++ Precompiled Dependencies Package处下载,

下载地址:http://www.ogre3d.org/download/sdk

3.需要Boost链接库,这是一个线程库,用于分页组件

我们用到目前为止最新的boost1.55。

下载地址:http://sourceforge.net/projects/boost/files/boost/1.55.0/

4 .cmake安装文件下载: 
http://www.cmake.org/download/ 
我下载的是cmake-3.2.1-win32-x86.exe

5.需要Visual Studio系列IDE,可以选择VS2008,VS2010,VS2012,这里以VS2010为例。

(注意,需要打SP1补丁,也就是Service Pack 1, 如果没打补丁,CMAKE工具使用中可能会出错。)

2、安装cmake3.2.1

安装cmake到电脑,步骤略。

3、解压缩源代码

解压缩ogre_src_v1-8-1.exeOgreDependencies_MSVC_20101231.zip文件。

OgreDependencies_MSVC_20101231文件夹下的Dependencies文件夹放到ogre_src_v1-8-1文件夹下。

ogre_src_v1-8-1文件夹移动到适当的位置。这里我将ogre_src_v1-8-1文件放在D盘根目录下。

4、编译Dependencies

进入D:\ogre_src_v1-8-1\Dependencies\src文件夹,打开sln文件。 
先打开vs2010,从这里打开OgreDependencies.VS2010.sln文件,会提示转换对话框,确定即可。

选择解决方案平台 win32,先编译Debug版本解决方案后再编译release

5.编译boost库。

 #1.boost_1_55_0解压,此处是G:\根目录。

 #2.编译bjam

 <1>.从开始菜单处的vs2010的工具菜单进入命令提示窗口

(单击“开始”按钮,指向“所有程序”,指向“Microsoft Visual Studio 2010”,指向“Visual Studio tools(工具)”,然后单击“Visual Studio 2010 command prompt(命令提示)” )


<2>.输入cd G:\boost_1_55_0定位到该文件目录下,然后输入bootstrap.bat建立Boost.Build engine
DOS下运行完成后会看到这样的画面,并且在G:\boost_1_55_0下出现了b2.exebjam.exe这样两个文件。
(注意:此处及以下请根据所安装的目录的操作,请勿盲目跟从。)

出现b2.exebjam.exe


#3.设定编译环境(为了去掉编译器警告)
打开G:\boost_1_55_0\tools\build\v2\user-config.jam,并对其msvc版本进行修改,
原来:
# -------------------
# MSVC configuration.
# ------------------
# Configure msvc (default version, searched for in standard locations and PATH).
# using msvc ;
# Configure specific msvc version (searched for in standard locations and PATH).
# using msvc :8.0 ;
修改之后为:
# -------------------
# MSVC configuration.
# ------------------
# Configure msvc (default version, searched for in standard locations and PATH).
# using msvc ;
# Configure specific msvc version (searched for in standard locations and PATH).
# using msvc :10.0 ;
(若是想编译成VS2010版请改成10.0
 PS:我用的文本编辑工具是nopepad++,很方便的工具,附上一张修改截图。)


#4.最终编译boost
DOS窗口中输入以下命令来执行bjam.exe:
bjam stage ^ --without-python ^ --toolset=msvc-10.0 ^ --build-type=complete ^ 
 --stagedir="G:\boost_1_55_0\vc10" ^ link=static ^ runtime-link=static 
 runtime-link=shared ^ threading=multi ^ debug release 输完后按回车~
(PS:编译至少需要半个小时,这个时候请不妨听听音乐,玩玩游戏,放松放松心情吧O(_)O
先上图:

执行等待中....


stage表示只生成库(dlllib),
" ^ "符号表示与下面的命令连接,输入" ^ "后按回车
便可以继续输入命令(此处注意空格,不要把两个本应该分开的命令连起来了),
without/with:表示编译或不编译哪些库
toolset:表示编译工具集,VS2010msvc-10.0
build-type:表示编译类型,complete为完全编译
stagedir:表示编译生成文件路径,此处是G:\boost_1_55_0\bin\vc10
link:表示生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。一般boost库可能都是以static方式编译,因为最终发布程序带着boostdll感觉会比较累赘。
runtime-link:表示动态/静态链接C/C++运行时库。同样有sharedstatic两种方式,这样runtime-linklink一共可以产生4种组合方式,各人可以根据自己的需要选择编译。一般link只选static的话,只需要编译2种组合即可,即link=static runtime-link=sharedlink=static runtime-link=static
threading:表示单/多线程编译。默认指定为单线程,multi表示多线程方式,single表示单线程方式。
debug/release:表示编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。
#5.看到这样的画面后便表示boost编译成功了。


#6.boost进行简单测试。
新建一个控制台WIN32工程,然后在新建的CPP中输入以下代码:

#include <boost/regex.hpp>#include <iostream>#include <string>int main(){std::string line;boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );while (std::cin){std::getline(std::cin, line);boost::smatch matches;if (boost::regex_match(line, matches, pat))std::cout << matches[2] << std::endl;}}

然后在工程属性中添加包含目录G:\boost_1_55_0和库目录G:\boost_1_55_0\vc10\lib)

Boost会自动包含静态链接库,所以不用手动添加,好了,按F5运行一下,若是出现黑色窗口则表明测试成功,我们编译的boost库可以使用!!!


#7.请注意,在编译过程中会产生中间过程文件,由于比较占空间,
现在编译成功之后可以删除这些中间过程文件。(竟然有2.75G之多)
(默认为G:\boost_1_55_0下的bin.v2 )

6  cmake生成代码

打开cmake_gui.exe

source code 中选择文件夹:D:\ogre_src_v1-8-1

D:\ogre_src_v1-8-1文件夹下新建目录:Build

build of binaries中选择文件夹:D:\ogre_src_v1-8-1\Build

点击Configure”按钮,选择对应的vs版本。我选择的是vs2010

完成”后,结果如下图。 

再次点击Configure”按钮,结果如下图。 


点击Generate”按钮,结果如下图。 

cmake生成代码完成。关闭cmake_gui.exe

7.编译构建Ogre

#1.打开G:\OGRE_2010\Ogre_Build下的OGRE.sln


#2.分别在DebugRelease下生成解决方案。


生成完成后将G:\OGRE_2010\ogre_src_v1-8-1\Dependencies中的

bin,include,lib合并到G:\OGRE_2010\Ogre_Build当中,再将

G:\OGRE_2010\ogre_src_v1-8-1\Samples中的media复制到

G:\OGRE_2010\Ogre_Build\Samples,

然后启动G:\OGRE_2010\Ogre_Build\bin\release下的SampleBrowser.exe

附上一张成功启动后的截图:

文章中使用到的安装包与插件连接 (百度云)

链接:http://pan.baidu.com/s/1qYrNPRA 密码:8fmo

0 0
原创粉丝点击