gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:2332回复:0

OSG源码编译

楼主#
更多 发布于:2011-09-15 13:01
<p style="MARGIN-LEFT: 5pt"><span style="FONT-SIZE: 13pt">1.</span><span style="FONT-SIZE: 10pt">准备工作:</span><span style="FONT-SIZE: 12pt"> </span></p>
<ul>
<li><span style="FONT-SIZE: 10pt">下载OSG源码(<a href="http://www.openscenegraph.org/projects/osg/wiki/Downloads">OSG Downloads page</a>),<a href="http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies">Dependencies</a>,<a href="http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets">Sample Datasets</a>;</span>
<li><span style="FONT-SIZE: 10pt">下载CMake并安装,方便我们建立Visual Studio 的解决方案和工程文件。下载地址:<a href="http://www.cmake.org/cmake/resources/software.html">http://www.cmake.org/cmake/resources/software.html</a></span> </li></ul>
<p><span style="FONT-SIZE: 10pt">2.建立Visual Studio 的解决方案和工程 </span></p>
<ul>
<li><span style="FONT-SIZE: 10pt">将下载的OSG源码,第三方依赖库分别放在D:OpenSceneGraph-2.8.2下的OpenSceneGraph,3rdParty;</span><span style="FONT-SIZE: 12pt"> </span>
<li><span style="FONT-SIZE: 10pt">打开CMake, "Where is the source code"设置为刚才设的OSG源码的地址, "Where to build the binaries"设置为OSG源码下的build文件夹下。如图设置: <br/></span></li></ul>
<p><span style="FONT-SIZE: 10pt">图1 </span></p>
<ul>
<li><span style="FONT-SIZE: 10pt">选定要建立的解决方案,工程文件的平台环境,这里选择Visual Studio 9 2008:</span><span style="FONT-SIZE: 12pt"> </span></li></ul>
<p></p>
<p style="MARGIN-LEFT: 5pt"><span style="FONT-SIZE: 10pt">图2 </span></p>
<ul>
<li><span style="FONT-SIZE: 10pt">如果按刚才的第三方库的设置,<span style="FONT-FAMILY: Courier="Courier"  New">ACTUAL_3RDPARTY_DIR</span><span style="FONT-FAMILY: 宋体">会被自动设置正</span><span style="FONT-FAMILY: Courier="Courier"  New"> </span><span style="FONT-FAMILY: 宋体">确,</span><span style="FONT-FAMILY: Courier="Courier"  New">CMAKE_INSTALL_PREFIX </span><span style="FONT-FAMILY: 宋体">设为</span><span style="FONT-FAMILY: Courier="Courier"  New">OSG</span><span style="FONT-FAMILY: 宋体">源码库的地址,这样生成的</span><span style="FONT-FAMILY: Courier="Courier"  New">dll</span><span style="FONT-FAMILY: 宋体">,</span><span style="FONT-FAMILY: Courier="Courier"  New">exe</span><span style="FONT-FAMILY: 宋体">将在</span><span style="FONT-FAMILY: Courier="Courier"  New">OpenSceneGraphbin</span><span style="FONT-FAMILY: 宋体">文件夹下;如果要建立</span><span style="FONT-FAMILY: Courier="Courier"  New">examples</span><span style="FONT-FAMILY: 宋体">工程文件,那么勾选</span><span style="FONT-FAMILY: Courier="Courier"  New"> BUILD_OSG_EXAMPLES </span><span style="FONT-FAMILY: 宋体">选项;</span> </span><span style="FONT-SIZE: 12pt"></span></li></ul>
<p><span style="FONT-SIZE: 10pt">图3 </span></p>
<ul>
<li><span style="FONT-SIZE: 10pt">然后Configue, Generate,在build文件下产生解决方案文件;</span><span style="FONT-SIZE: 12pt"> </span></li></ul>
<p><span style="FONT-SIZE: 10pt">3.编译OSG源码 </span></p>
<ul>
<li><span style="FONT-SIZE: 10pt">用Visual Studio 2008打开<span style="FONT-FAMILY: Courier="Courier"  New">OpenSceneGraph.sln</span><span style="FONT-FAMILY: 宋体">,</span><span style="FONT-FAMILY: Courier="Courier"  New">Build Solution</span><span style="FONT-FAMILY: 宋体">,然后就等吧。。。。</span></span><span style="FONT-SIZE: 12pt"> </span>
<li><span style="FONT-SIZE: 10pt"><span style="FONT-FAMILY: 宋体">编译完成以后,</span><span style="FONT-FAMILY: Courier="Courier"  New"><strong>INSTALL</strong></span><span style="FONT-FAMILY: 宋体">工程会在建立</span><span style="FONT-FAMILY: Courier="Courier"  New">bin</span><span style="FONT-FAMILY: 宋体">文件夹存放</span><span style="FONT-FAMILY: Courier="Courier"  New">exe</span><span style="FONT-FAMILY: 宋体">,</span><span style="FONT-FAMILY: Courier="Courier"  New">dll</span><span style="FONT-FAMILY: 宋体">;</span><span style="FONT-FAMILY: Courier="Courier"  New">include</span><span style="FONT-FAMILY: 宋体">下是头文件,</span><span style="FONT-FAMILY: Courier="Courier"  New">lib</span><span style="FONT-FAMILY: 宋体">文件夹下是所需的库文件;</span> </span></li></ul>
<p><span style="FONT-SIZE: 10pt">4.接下去就是设置环境变量了: </span></p>
<p style="MARGIN-LEFT: 5pt"><span style="FONT-SIZE: 10pt">打开环境变量设置: </span></p>
<p style="MARGIN-LEFT: 5pt"><span style="FONT-SIZE: 10pt">在"系统变量"下新建: </span></p>
<p style="MARGIN-LEFT: 5pt"></p>
<div style="MARGIN-LEFT: 5pt">
<table style="BORDER-COLLAPSE: collapse" border="0">
<colgroup>
<col style="WIDTH: 130px">
<col style="WIDTH: 268px"></colgroup>
<tbody valign="top">
<tr>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: #a3a3a3 1pt="1pt"  solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: #a3a3a3 1pt="1pt"  solid; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">变量名</span></p></td>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: medium="medium"  none; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: #a3a3a3 1pt="1pt"  solid; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">变量值</span></p></td></tr>
<tr>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: #a3a3a3 1pt="1pt"  solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">OSG_ROOT</span></p></td>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: medium="medium"  none; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">D:OpenSceneGraph-2.8.2OpenSceneGraph</span></p></td></tr>
<tr>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: #a3a3a3 1pt="1pt"  solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">OSG_BIN_PATH</span></p></td>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: medium="medium"  none; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">%OSG_ROOT%bin</span></p></td></tr>
<tr>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: #a3a3a3 1pt="1pt"  solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">OSG_INCLUDE_PATH</span></p></td>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: medium="medium"  none; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">%OSG_ROOT%include</span></p></td></tr>
<tr>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: #a3a3a3 1pt="1pt"  solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">OSG_LIB_PATH</span></p></td>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: medium="medium"  none; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">%OSG_ROOT%lib</span></p></td></tr>
<tr>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: #a3a3a3 1pt="1pt"  solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">OSG_SAMPLES_PATH</span></p></td>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: medium="medium"  none; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">%OSG_ROOT%shareOpenSceneGraphbin</span></p></td></tr>
<tr>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: #a3a3a3 1pt="1pt"  solid; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">OSG_FILE_PATH</span></p></td>
<td style="BORDER-BOTTOM: #a3a3a3 1pt="1pt"  solid; BORDER-LEFT: medium="medium"  none; PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: medium="medium"  none; BORDER-RIGHT: #a3a3a3 1pt="1pt"  solid; PADDING-TOP: 5px">
<p><span style="FONT-SIZE: 10pt">%OSG_ROOT%OpenSceneGraph-Data</span></p></td></tr></tbody></table></div>
<p style="MARGIN-LEFT: 5pt"><span style="FONT-SIZE: 10pt">选择"系统变量" Path 编辑:在最后添加:"%OSG_BIN_PATH%;%OSG_SAMPLES_PATH%; </span></p>
<p style="MARGIN-LEFT: 5pt"><span style="FONT-SIZE: 10pt">环境变量设置完成,测试设置准确与否 </span></p>
<p style="MARGIN-LEFT: 5pt"><span style="FONT-SIZE: 10pt">打开运行->cmd->echo %OSG_ROOT% 是否显示刚才设的路径;也可以输入osgviewer cow.osg 看是否有只"五颜六色的牛",如果有,恭喜你,设置正确; </span></p>
<p style="MARGIN-LEFT: 5pt"><span style="FONT-SIZE: 10pt">5.接下去就是配置VS2008了; </span></p>
<ul>
<li><span style="FONT-SIZE: 10pt">在VS2008中包含头文件$(OSG_INCLUDE_PATH),库文件$(OSG_LIB_PATH) </span><span style="FONT-SIZE: 12pt"></span>
<li><span style="FONT-SIZE: 10pt">在建立的项目属性中添加需要的附加库(记得Debug版本中后要加个'd') </span></li></ul>
<p><span style="FONT-SIZE: 10pt">6.开始自己的OSG之旅吧。。。。。 </span></p>
<p style="MARGIN-LEFT: 5pt"></p>
喜欢0 评分0
游客

返回顶部