OSG-3.0.1在VS2008下的编译、配置和安装

一、准备安装程序需要的程序及其资源等

 

1.下载OSG源码,我这里用的是OpenSceneGraph-3.0.1版本,下载地址为:

http://www.openscenegraph.org/projects/osg/wiki/Downloads

 

2.编译安装源代码需要使用Cmake,版本在Cmake-2.8.6-win32-x86.zip及以上版本即可

 

3.第三方库资源包,我这里用的是3rdParty_VC9sp1_x86_x64_V7,下载地址为:

http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies

 

4.数据文件包OpenSceneGraph-Data-3.0.0,下载地址:

http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets

 

二、编译流程

 

本人编译环境设置如下,OSG根目录为:D:\MyUserData\Projects\GameEngine\OSG

在该目录下建立了三个文件夹

1、OpenSceneGraph-3.0.1(放置OSG最新库文件,将openSceneGraph-3.0.1.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、 在xxx/OpenSceneGraph-3.0.1下新建两个文件夹,分别命名为build、bin,用于放置编译文件

 

2、 解压cmake-2.8.6,打开bin/cmake-gui.exe,将xxx/OpenSceneGraph-3.0.1下的CMakeLists.txt拖到界面上。

 

3、在Where to build thebinaries选项中,在路径的末尾加上“/build”,即为:xxx/OpenSceneGraph-3.0.1/build。在这个文件夹中将存放cmaker生成的二进制文件。

 

4、此时软件会弹出对话框询问你要生成哪种项目工程,我们选择Visual Studio 9 2008。然后点击Finish确定。

 

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

 

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

(1)ACTUAL_3RDPARTY_DIR:设置为前面的 xxx/3rdParty_VC9sp1_x86_x64_V7  ACTUAL_3DPARTY_DIR:即整合的第三方开发库所在目录,如果下载了OSG提供的整合好的第三方开发库,那么可以在这里设置解压缩之后它的位置,CMake将在下次配置时自动搜索所需的Lib文件和头文件路径。

(2)BUILD_OSG_EXAMPLES:是否编译OSG所有例子程序的选项,这个可以根据实际情况进行选择,默认应当选择“ON”。即编译实例,我在编译的时候选择了“YES”

(3)CMAKE_CONFIGURATION_TYPES:定义了工程文件中工程配置的种类,缺省值包括Debug,Release,MinSizeRel和RelWithDebInfo四种类型。注意不同的配置类型在工程中对应不同的编译选项,可以在CMAKE_CXX_FLAGS和CMAKE_EXE_LINKER_FLAGS中进行修改。

(4)CMAKE_INSTALL_PREFIX:xxx/OpenSceneGraph-3.0.1/bin

CMAKE_INSTALL_PREFIX:用于以后保存编译生成的EXE,DLL和LIB文件的路径,在这个路径下会自动建立bin(为可执行程序的执行提供DLLs),lib(库文件), include(头文件), and share\OpenSceneGraph\bin\(实例的可执行文件)等四个文件夹

 

7、配置好以上四个项目后,按下“Configure”按钮进行本次配置,而与当前所配置的项相关联的选项将在下一次配置时再次变红,等待用户重新进行配置;

第一次配置完成后,将右上角的Show Advanced Values 复选框选择上,将MFC EXAMPLE 设置为ON.

忽略其他未配置项,一直点击“Configure”按钮直到“Generate”按钮变回可用。

 

8、按下“Generate”按钮,此时将生成用户所需的所有Visual Studio 9 2008工程文件。

 

四、用VS2008编译生成二进制文件

 

1、进入xxx\OpenSceneGraph-3.0.1\build文件夹,双击OpenSceneGraph.sln文件,则会在VS2008中打开整个解决方案。

 

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

3、整个编译过程会持续很长时间,需要耐心等待,编译完成后,在项目列表中,选择“INSTALL”子项目,然后点击右键,选择菜单中的“Build”执行安装程序,安装的目录位置就是在CMake中设置的CMAKE_INSTALL_PREFIX选项的属性值。

4、将编译选项设置为Release,重复这项2、3步骤。

 

至此,OSG3.0.1源码的编译工作全部完成。编译好的文件已经全部安装在xxx/OpenSceneGraph-3.0.1中。

 

五、设置环境变量

 

右击我的电脑->属性->高级->环境变量,添加相应的环境变量如下:
用户变量:OSG_FILE_PATH =D:\MyUserData\Projects\GameEngine\OSG\OpenSceneGraph-Data-3.0.0

系统变量path下添加 D:\MyUserData\Projects\GameEngine\OSG\OpenSceneGraph-3.0.1\bin\bin,主要用于dll的调用。

 

六、测试工程是否可用

 

在命令行中,输入osgViewerd.exe cow.osg回车,如果能成功运行,程序将会打开一个“母牛”的3D模型。

(注意:有的电脑可能系统提示缺失zlib1.dll和zlib1d.dll,这两个分别对应Release和Debug版本,在3rdParty文件夹中可以找到,把他们添加到C:\WINDOWS\SYSTEM32,,然后dll注册,

方法:开始,运行,输入“regsvr32 zlib1.dll”,回车,zlib1d.dll同样方式。)

 

七、设置VS2008的路径

 

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

包含文件里添加:D:\MyUserData\Projects\GameEngine\OSG\OpenSceneGraph-3.0.1\bin\include

库文件添加:D:\MyUserData\Projects\GameEngine\OSG\OpenSceneGraph-3.0.1\bin\lib

(或者直接在工程里面设置也可以)

 

八、新建OSG项目测试

 

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

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

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

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

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

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

OpenThreads.lib

osg.lib

osgDB.lib

osgUtil.lib

osgGA.lib

osgViewer.lib

osgText.lib

 

注意:

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

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

 

你可能感兴趣的:(OSG-3.0.1在VS2008下的编译、配置和安装)