OSG环境搭建

首先下载所需文件:

最新版的osg库(我的版本:OpenSceneGraph-3.0.1.zip),可以在osg官网下载:   http://www.osgchina.org/projects/osgcn/wiki.php

安装源代码所需要的工具CMAKE:(我的版本:cmake-2.6.4-win32-x86.zip)  http://www.cmake.org/cmake/resources/software.html

第三方支持(图像)库:(我的版本:3rdParty_Win32Binaries_vc90sp1.zip)  http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies

根据不同开发工具选择不同的文件,我的是vs2008

示例数据文件包:(我的版本是:OpenSceneGraph-Data-2.8.0.zip)可以在osg官网下载

其次准备编译环境:

在D盘建立osg文件夹,将上述四个文件拷贝解压到osg文件夹下(注意:需要把cmake工具最好也解压到这儿,否则可能会出现错误):

D:\OSG\3rdParty_x86_x64(放置图像库)

D:\OSG\cmake-2.8.8-win32-x86(放置cmake工具)

D:\OSG\OpenSceneGraph-3.0.1(放置osg库文件)

D:\OSG\OpenSceneGraph-Data-3.0.0(示例数据解压文件),主要用于example展示

开始编译:

在D:\OSG\OpenSceneGraph-3.0.1下新建两个文件夹build和bin用于放置编译文件

双击打开D:\OSG\cmake-2.8.8-win32-x86\bin下的cmake-gui.exe文件,把OpenSceneGraph-3.0.1下的CMakeLists.txt拖到cmake界面,设置sourcecode和binaries的文件路径

D:/OSG/OpenSceneGraph-3.0.1(源码路径)、D:/OSG/OpenSceneGraph-3.0.1/build(编译的二进制文件路径)

设置cache value参数:

ACTUAL_3RDPARTY_DIR,:设置为前面的D:\OSG\3rdParty_x86_x64\x86(因为文件夹下有x86和x64两个文件夹)

BUILD_OSG_EXAMPLES :ON,即编译实例


CMAKE_INSTALL_PREFIX:D:/OSG/OpenSceneGraph-3.0.1/bin ,设置编译成功后,相关的库文件存放的地址,切勿忘记

点击configure按钮,弹出选择工具,我的是visual studio 2008, 进行第一次配置

第一次配置完成后,将mfc example 设置为on,将右上角的show advanced values 复选框选择上.

点击configure进行第二次配置,配置完成后,点击generate按钮开始生成

generate完成以后会在D:\OSG\OpenSceneGraph-3.0.1\build文件下生成OpenSceneGraph.sln

用vs进行编译

用vs2008打开OpenSceneGraph.sln解决方案

点击“生成--批生成”菜单,选择ALL BUILD的debug和release版本,开始生成,这需要很长很长的时间

……………………

完成以后,又生成INSTALL的debug和release版本,仍然需要很长时间

………………

结束以后会发现在D:/OSG/OpenSceneGraph-3.0.1\bin目录下生成了几个文件夹

设置环境变量

在系统变量Path中添加D:\OSG\OpenSceneGraph-3.0.1\bin\bin,用于dll的调用

新建一个用户变量OSG_FILE_PATH,设置值为D:\OSG\OpenSceneGraph-Data-3.0.0,用于调用example

打开VS2008,工具->选项->项目解决方案->VC++目录,分别设置OSG的头文件及库文件
包含文件里添加:D:/OSG/OpenSceneGraph-3.0.1\bin\include
库文件添加:D:/OSG/OpenSceneGraph-3.0.1\bin\lib

测试:

打开命令行,输入osgversion会出现osg版本

输入osgViewer cow.osg,出现奶牛

如果以上都成功,说明osg已经安装成功

新建OSG项目测试

(1) 打开VS2008,创建一个WIN32控制台程序。

(2)注意:请选空项目,在源程序中添加一个新项,添加一个C++文件(cpp)。

(3)在这个CPP文件中输入代码:

#include "windows.h"   //如果不添加这个头文件,会出现在gl.h中的错误
        #include <osgViewer/Viewer>
        #include <osgDB/ReadFile>

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

(4)打开项目属性的链接器,输入里加上:
OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
osgTextd.lib

运行程序,会出现一头奶牛。

如果运行不成功出现“无法启动程序,丢失osg80-osgDBd.dll文件

网上搜了很多,说是没有将dll文件目录添加到环境变量里面,如果确定已经添加,那么重新启动机器。

重启以后,发现第一个错误没有了,不过有出现说丢失zlibd1.dll文件。

解决方法是将D:\OSG\3rdParty_x86_x64\x86\bin下的zlibd1.dll、zlib1.dll和zlibd.pdb文件拷到D:/OSG/OpenSceneGraph-3.0.1\bin\bin目录下,这样应该就可以运行了。


osg在win7+vs2008下的环境搭建成功,开始学习osg编程吧,祝你好运!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章