OSG-3.0.0在vs2008下的配置与安装

来源:互联网 发布:java简明教程 pdf下载 编辑:程序博客网 时间:2024/06/05 05:08

说明:实际上我用的是osg3.0.1+vs2010,按照下面的教程成功了。(vs2008没成功)

http://blog.csdn.net/liulianfanjianshi/article/details/11554561


第一部分:准备资源

需要准备的资源如下

OSG:OSG源代码:OpenSceneGraph-3.0.0.zip

      OSG示例数据:OpenSceneGraph-Data-3.0.0.zip

      OSG依赖的第三方库:3rdParty_win32binaries_vs90sp1

下载这些资源可以到http://trac.openscenegraph.org/projects/osg//wiki/Downloads

还需要CMake工具,可以从这个网站下载:

http://www.cmake.org/ 我用的是:cmake-2.8.11.2-win32-x86.exe

第二部分:准备工作

在D盘中建立目录,存放OSG源码与编译生成的VS工程。这里我建立的目录如下:

D:\ThirdPartyLib\OSG3.0-VS2008

在这个目录下建立三个文件夹

1、OpenSceneGraph-3.0.0(放置OSG最新库文件,将openSceneGraph-3.0.0.zip解压到这个文件夹下)

2、OpenSceneGraph-Data-3.0.0(放置OpenSceneGraph-Data-3.0.0.zip的解压数据,主要用于examples的演示)

3、3rdParty_VC9sp1_x86_x64_V7(放置第三方库,将3rdParty_VC9sp1_x86_x64_V7.zip解压到这个文件夹下)

第三部分:Cmake生成projectsolution文件

1、 在D:\ThirdPartyLib\OSG3.0-VS2008\OpenSceneGraph-3.0.0下新建两个文件夹,分别命名为

build、bin,用于放置编译文件。

2.解压cmake-2.8.11.2-win32-x86.exe,在解压后的文件中cmake2.8/bin中打开

   cmake-gui.exe,将D:\ThirdPartyLib\OSG3.0-VS2008\OpenSceneGraph-3.0.0下的CMakeLists.txt

   拖到打开的cmake-gui.exe的界面上。

3.在打开的cmake-gui.exe界面上的第二项Where to build thebinaries选项中,在路径的末尾加上

“/build”,即D:/ThirdPartyLib/OSG3.0-VS2008/OpenSceneGraph-3.0.0/build。在这个文件夹中将

存放cmaker生成的二进制文件。

4.按下左下角的configure,此时软件会弹出对话框询问你要生成哪种项目工程,我们选择

   Visual Studio 9 2008,然后点击Finish确定。

5.在此之后,软件便开始configure这个项目,它会分析项目中已有的相关配置。然后将有疑问

   的未配置项目标定为红色。

6、设置相关的cache value参数,这里主要设置的参数包括:

(1)ACTUAL_3RDPARTY_DIR:设置为前面的D:/ThirdPartyLib/OSG3.0-VS2008/3rdParty_x86_x64,

    ACTUAL_3DPARTY_DIR即整合的第三方开发库所在目录,如果下载了OSG提供的整合好的第三方

    开发库,那么在这里设置解压缩之后它的位置,CMake将在下次配置时自动搜索所需的Lib文件

    和头文件路径。

(2)BUILD_OSG_EXAMPLES:是否编译OSG所有例子程序的选项,应当选择“ON”。即编译实例

(3) CMAKE_INSTALL_PREFIX:D:\Program Files\OSG30VS2008

(4).如果同时装了Microsoft Visual C++ 6.0,就要注意把路径改到vs2008中。

7、配置好以上四个项目后,按下“Configure”按钮进行本次配置,而与当前所配置的项相关联的选项将在

     下一次配置时再次变红,等待用户重新进行配置;第一次配置完成后,将右上角的Show Advanced 

      Values 复选框选择上,将MFC EXAMPLE 设置为ON.忽略其他未配置项,一直点击“Configure”

      按钮直到“Generate”按钮变回可用。按下“Generate”按钮,此时将生成用户所需的所有

      Visual Studio 9 2008工程文件。

第四部分:用VS2008编译OSG工程

1、进D:\ThirdPartyLib\OSG3.0-VS2008\OpenSceneGraph\build文件夹,双击OpenSceneGraph.sln

      文件, 则会在VS2008中打开整个解决方案。

2、使用Debug编译模式,选择项目列表中的ALL_BUILD,然后点击右键,选择菜单中的“Build”命令

      编译整个解决方案。

3、整个编译过程会持续很长时间,需要耐心等待,编译完成后,在项目列表中,选择“INSTALL”子项目,

     然后点击右键,选择菜单中的“Build”执行安装程序,安装的目录位置就是在CMake中设置的

     CMAKE_INSTALL_PREFIX选项的属性值。

4、将编译选项设置为Release,重复这项2、3步骤。至此,OSG3.0.1源码的编译工作全部完成。

     编译好的文件已经全部安装在D:\Program Files\OSG30VS2008中。

第五部分:设置环境变量

右击我的电脑->属性->高级->环境变量,添加相应的环境变量如下:

用户变量:OSG_FILE_PATH =D:\ThirdPartyLib\OSG3.0-VS2008\OpenSceneGraph-Data-3.0.0

系统变量path下添加D:\Program Files\OSG30VS2008\bin,主要用于dll的调用。

测试工程是否可用:

在笔记本的左下角打入cmd,就会出现cmd.exe,打开它,在命令行中输入输入osgviewerd.exe cow.osg

回车,如果能成功运行,程序将会打开一个“母牛”的3D模型。

第六部分:设置VS2008的路径

打开VS2008,工具->选项->项目解决方案->VC++目录,分别设置OSG的头文件及库文件

包含文件里添加:D:\Program Files\OSG30VS2008\include

库文件添加:D:\Program Files\OSG30VS2008\lib

第七部分:新建OSG项目测试

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

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

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

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

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

(4)打开项目属性的链接器,输入里加上:

如果编译是Release版本,编译的库都有的命名为*.lib

OpenThreads.lib osg.lib osgDB.lib osgUtil.lib osgGA.lib osgViewer.lib osgText.lib

如果是Debug版本,要添加对应的*d.lib库

OpenThreadsd.lib osgd.lib osgDBd.lib osgUtild.lib osgGAd.lib osgViewerd.lib osgTextd.lib

编译运行如图:


第八部分:出现的错误

用前面的程序运行时出现如下错误:生成“cmd.exe”时出错。

查了查资料,看到解释是:VS2008的环境变量设置不对

应该如下解决:

“工具--选项--项目和解决方案--VC++ 目录”
增加如下几行:
$(SystemRoot)/System32
$(SystemRoot)
$(SystemRoot)/System32/wbem


0 0
原创粉丝点击