OSG+VS2010+win7 环境搭建教程

来源:互联网 发布:七局网络教育 编辑:程序博客网 时间:2024/05/16 05:14
      博主今年要读计算机专业的研究生,导师暂时给的研究内容是osgearth漫游地球效果框架的应用。博主本科是软件工程,学习这个框架也算是从零开始,学习了大概一个月,在这里把我的学习历程与大家做一个分享。要学习osgearth,首先要学习OSG框架。在这篇博文中,博主就给大家介绍一下OSG环境的搭建过程,也欢迎各位博友在评论中提出自己搭建过程中出现的问题,我们可以逐一交流。
      OpenSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数;而更低层次的OpenGL硬件抽象层(HAL)实现了底层硬件显示的驱动。
一、准备工作
      首先你要换一个win7的电脑系统,然后装一个VS2010,这是最基本的配置。重装系统大家应该都会了,一个计算机专业的学生必备技能,这里就不做赘述。我要谈一下VS2010的安装过程中碰到过的问题。


      一般都容易出现这样的问题,博主也不清楚原因是什么,但是我找到了解决办法,再次安装就可以成功了。办法就是:进入 C:\Windows中找到 SoftwareDistribution文件夹把这个文件夹删掉,或者重命名,然后在重新安装VS2010就可以了。有可能没有删除权限,可以选择使用360强力删除,或者打开后台任务管理器关闭该进程再执行删除操作,即可成功。

然后才是OSG的相关文件的配置。具体所需文件我已经将其打包: osgearth编译包

为了编译的顺利进行,我们搭建OSG环境只需要用到编译包中的几个文件包:

源码OpenSceneGraph的3.0.0.zip,

Osg第三方库 3rdParty_VC10_x86_x64.zip

OSG官方示例数据包 OpenSceneGraph-Data-3.0.0.zipcmake-3.4.1-win32-x86.exe 

安装源码工具(虽然写的x86的,但是64位系统也可以用的)

之前版本下载连接: cmake-2.8.4-win32-x86.exe

最新版本下载连接: cmake-3.4.1-win32-x86.exe

这里特别提一下,第三方库里有x86和x64两个文件夹,大家各自根据自己的电脑属性选择一个文件夹就足够了(博主推荐使用x86,里面文件更加齐全,对64位系统也没有影响)。将下载的文件组织一下(目录清晰对后面有很大帮助),在E盘建立一个OSG的文件夹,然后其他文件如下放置:

E:\OSG\OpenSceneGraph,源码解压后放于此。

E:\OSG\data,数据包解压后放于此。

二、编译OSG源码

2.1 首先安装CMake,之后打开CMake -gui.exe

  这里要补充说下,因为有些教程里面说到,在创建”E:\OSG\OpenSceneGraph”文件夹之后,

  最好在里面新建两个文件夹,一个叫”build”;一个叫”bin”;

2.2将源码OpenSceneGraph文件夹里头的CmakeLists.txt,拖到Cmake界面,如图:


   然后将“where to build thebinaries”设置为,刚刚新建的“build”文件夹(将上图vs2010改为build)。

2.3 点击Configure,选择Visual Studio 10。

  这里需要说的是,因为我上面第三方依赖库我保留的是x86,所以我这里也就自然选择VS10就可以了;

  另外还有一个是VS10 Win64 的那就是要对应之前的第三方依赖库的选择了;

2.4 点击Finish之后,等一下,然后进行相关设置:

ACTUAL_3RDPARTY_DIR值:E:/OSG/3rdParty;
BUILD_OSG_EXAMPLES值: ON
BUILD_MFC_ EXAMPLE:ON
CMAKE_INSTALL_PREFIX值:E:/OSG/OpenSceneGraph/build

2.5 点击Configure后,等一会;

  然后将Advanced打勾,将BUILD_MFC_EXAMPLE设置为on,进行最后一次的Configure配置,点击Configure:

  如果这过程中下面的通知区域:

  出现了红色的乱码,可能是跟你的VS10的一些默认项目文件存放的路径有关,之所以会乱码,是因为可能上面说到的路径有中文。

  所以,建议不要去修改VS10的一些默认的存放的路径,避免不必要的错误。

  当然随着这步勾选上BUILD_MFC_EXAMPLE,正常的情况应该是中间区域的红色会全部消失,但是下面的区域你去查看会发现任然有些红色的语句警告,这无关紧要;

  继续进行下一步。

2.6 点击Generate,自此建构完成。

三、编译阶段

3.1用VS2010打开OpenSceneGraph.sln(此文件在E:\OSG\OpenSceneGrap\build下);

  找到菜单:生成-批生成,对All_BUILD进行生成,选择(Debug和Release两个版本),这段编译时间是很长的,估计2个小时左右,主要看电脑,这的确要很久;

  建议大家要耐心等待,代码好像要走到13000左右差不多就好了,这段时间可以不用管它。

3.2第1步完成后,再对INSTALL也进行相应(Debug和Release两个版本)生成编译,这段时间很快的。

四、数据转移

  在D盘新建OSG文件夹

  将E:\OSG\OpenSceneGraph下的bin,include,lib文件夹,拷贝到D:\OSG下;

  将E:\OSG\data下的数据,拷贝到D:\OSG\data下;

  这几个文件是OSG需要的。

五、环境变量设置

5.1右击“计算机”,然后“属性”,在计算机属性窗口的左边有个高级系统设置,如下图:

  点击之后,高级--环境变量,对系统变量设置如下:

  新建一个变量:OSG_FILE_PATH:D:\OSG\data

  追加变量内容:PATH:D:\OSG\bin;

5.2 在命令行(CMD)进行测试:

  osgversion


  osgviewer cow.osg


  osglogo


 

六、新建OSG项目测试

6.1 在VS2010下,找到C++,新建WIN32控制台程序;

6.2 添加一个cpp;

6.3 输入以下代码:

#include <osgViewer/Viewer>
#include <osgDB/ReadFile>

int main( int argc, char **argv)
{
   osgViewer::Viewerviewer;
  viewer.setSceneData( osgDB::readNodeFile( "cow.osg"));
  return viewer.run();
}

6.4右键项目,选择“属性”,选择“VC++目录”,在包含目录添加:D:\OSG\include,在库目录添加:D:\OSG\lib

6.5 打开项目属性的链接器,在输入那一项,附加依赖项加上:

OpenThreadsd.lib

osgd.lib

osgDBd.lib

osgUtild.lib

osgGAd.lib

osgViewerd.lib

osgTextd.lib


 6.6 运行,效果如下图:



Congratulations!下面你就可以享受OSG的世界了!


原创粉丝点击