sl2962 发表于 2010-9-27 20:51:58

安装osg--初学者可参考

最近学习osg,看着王锐、钱学雷的openscenegraph三维渲染引擎设计与实践和网上的相关资料,下载并安装了osg2.8.0,将步骤记录了下来,可供初学者参考。

array 发表于 2010-9-28 08:25:14

既然文字并不是很多,我就帮您贴出来了,感谢楼主有心分享 :)

一下载资料:

1、下载源码:
在http://www.openscenegraph.org/projects/osg/wiki/Downloads下载稳定版本的源代码或预编译包。

source code为源代码,可以用CMAKE工具生成.sln的解决方案;
binaries为预编译包,预编译包不是openscenegraph官方直接维护,而是有其他爱好者上传,可能会有隐患,最好是从源代码进行编译。
版本说明:<主版本号>.<副版本号>.<修订号>
主版本号高的,功能丰富;副版本号为偶数的为正式版本,比较稳定;副版本号为奇数的为开发者版本,有新特性和功能,但会存在未解决的兼容性和效率问题;开发者版本和正式版本是同步发行的。

下载文件为:OpenSceneGraph-2.8.0.zip


2、下载Cmake工具:
在http://www.cmake.org/cmake/resources/software.html中下载CMake工具cmake-2.8.2-win32-x86.exe。

3、下载SVN软件(用于下载源码或第三方库,有的版本不需要此软件,可直接下,根据情况定):

在http://tortoisesvn.tigris.org/下载TortoiseSVN。

4、下载第三方库Dependencies,http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies,
“VisualStudio 8 (2005) SP1 - svn access directory ”

5、下载示例:
在http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets中下载示例数据文件OpenSceneGraph-Data-2.8.0.zip 。

二、安装
1、安装cmake工具
2、在某盘符下建立osg文件夹,在该文件夹中放置源码文件、第三方文件和示例文件。
3、运行cmake,
第一行(where is the source code)输入osg文件夹中的源码文件;
第二行(where to build the binaries)输入一个新文件夹名及地址,如osg/build_osg;
点configure,选择所用的编译器版本,即c++版本;
点grouped,选择build项,选择build_osg_examples和build_osg_wrappers;
选择cmake项,设置cmake_install_prefix的位置(用于存放编译完的各种模块文件,如库文件、可执行文件和头文件)
点configure,点advanced,选上build_mfc_example
点configure,
点generate,完成。
此时在osg/build_osg文件中生成了对应编译版本的.sln文件。
4、用c++编译器打开该.sln文件,在解决方案管理器窗口中的all_build上右击,选“生成”,将在osg/build_osg中生成几个G的文件。
在install上右击,选“生成”,将在第三步中cmake_install_prefix设置的文件夹中生成编译完的各种模块文件(如库文件、可执行文件和头文件)。

三、设置环境变量
我的电脑-属性-高级-环境变量
系统变量
OPENSCENEGRAPH_VERSION=2.8.0
OSGDIR=D:\Program Files\OpenSceneGraph
PATH新增:%OSGDIR%\bin;
          %OSGDIR%\bin\osgPlugins-%OPENSCENEGRAPH_VERSION%
OSG_FILE_PATH=%OSGDIR%\data
OSG_NOTIFY_LEVEL=INFO

四、简单测试
在控制台下输入osgviewerd cow.osg

五、建立工程环境
1、使VS支持无扩展名头文件的高亮显示。
进入visual studio,选择Tools-Options,选text editor-file extension,在下面的map extensionless files to选项选择microsoft visual c++。
2、构建基于OSG开发的工程。
1)建一个工程
2)在project-properties中选择configuration properties-c/c++,在additional include directories中输入“$(OSGDIR)\include”。
3)选择configuration properties-linker,在additional library directories中输入“$(OSGDIR)\lib”。
4)选择configuration properties-linker-input,打开additional dependencies窗口,准备配置输入的依赖库文件名称。如OpenThreadsd.lib;osgd.lib;osgDBd.lib;osgUtild.lib;osgGAd.lib;osgTextd.lib;osgViewerd.lib
注意:Debug版本的工程和Release版本的工程所依赖的OSG库文件类型相同,但名称有区别.Debug版本的文件名末尾有"d"标识。根据用户需要的不同,还可以添加其他库依赖文件,这些文件在osg的lib文件夹中。

OK,现在可以编代码,编译、调试,输出效果了,体会OSG渲染引擎的强大吧。

array 发表于 2010-9-28 08:27:57

补充一点,cmake的build_osg_wrappers选项没有必要选中,一般的用户不会用到它;这个选项及相关的osgIntrospection库在2.9.8之后已经去除

tianxiao888 发表于 2010-9-28 11:25:15

:handshake支持分享

tianxiao888 发表于 2010-9-28 11:25:30

:handshake支持分享

icing 发表于 2010-9-28 19:22:04

环境怎么设置啊,我怎么找不到bin目录啊

sl2962 发表于 2010-9-28 20:28:02

bin目录在你之前运行CMake时设置的cmake_install_prefix中定义。我的是在D盘下。

还有一个要说明的是,osgversion.cpp和有些插件库需要手动进行一些修改才能使用,详见openscenegraph三维渲染引擎编程指南,肖鹏等编著的,第1.3.2节。我编译时没改,昨晚才看到这本书。

array 发表于 2010-9-29 09:19:42

现在的osgversion已经修正了之前的系统编码问题,不需要再手动修改了

zh121314zh12 发表于 2010-10-1 21:46:29

请问 您所说的这个步骤 能用于 vs 9.0 吗?

sl2962 发表于 2010-10-3 20:41:58

应该能。下载的资源要支持VisualStudio 9 (2008) 的。

zh121314zh12 发表于 2010-10-6 19:41:34

都需要下载什么呢? 为什么我用Cmake 导入CMakeLists.txt 时候显示
Error in configuration ,project files may be invalid.这是什么问题?

array 发表于 2010-10-6 21:26:31

您是如何导入CMakeLists.txt的?是根目录下的文件吗

zh121314zh12 发表于 2010-10-6 21:35:32

我的目录是E:\OSG\OpenSceneGraph-2.8.0E 盘 是我的系统盘

zh121314zh12 发表于 2010-10-6 22:07:02

我弄好了 呵呵刚才一打开VS 才发觉是我的VS 到期了谢谢啦

zh121314zh12 发表于 2010-10-19 16:12:35

我在编译all build 过程中出现很多错误 基本上错误如图。请问会影响到 之后的编译吗?

array 发表于 2010-10-19 17:11:00

您的png插件没有配置好libpng依赖库,或者libpng静态库文件存在问题

zh121314zh12 发表于 2010-10-19 18:30:48

png插件? 我没用过那个啊 我是用Cmake 导入的那个list的文件 然后按照上面的配置没有红色的项之后 generate完成 点开.sln 文件 all biuld 生成了大概5G的文件 完成后就显示那些错误我的步骤中有什么缺失么?

array 发表于 2010-10-20 08:18:16

您的错误提示已经说明了一切,您可以检查cmake中png开头的选项,看看您是如何配置的,以及您选择的第三方库是否有问题

zh121314zh12 发表于 2010-10-20 17:35:35

我的第三方库如图1 是从qq那个公共的文件中转站下载的 我看上面的过程中并没有配置有关png的 东西啊 今天我又新编译了下 install 好像没有几个能生成的。。全是错误而且都是无法解析。从里面看到了有关png的错误。

zh121314zh12 发表于 2010-10-20 23:12:41

我又看了下 CMAke 里面只有1个 png的选项 路径是 PNG_LIBRARY_DEBUG E:\OSG\3rdParty\lib\libpngd.lib

array 发表于 2010-10-21 08:17:21

打开ADVANCED开关,再好好看一看~~您不是已经把CMakeCache中的信息列出来了?它们必然也会出现在cmake-gui中,我没有用过您说的那个第三方库,并且谨慎怀疑它们存在某些问题。如果摒除这个第三方库包再编译OSG,我想您不会遇到任何问题的,现在的OSG编译过程只能用非常简单来形容了……

zh121314zh12 发表于 2010-10-21 12:58:05

呵呵 我是刚开始接触OSG 以前也没有接触过类似的编译过程。所以有点找不着方向 网上各种安装过程。。在细节上的差别 就导致了不敢去配置一些东西 摒除第三方库? CMake 中不会出现红项么? 我也用过安装版的OSG 结果还是显示无法打开osg。lib :dizzy:

array 发表于 2010-10-21 16:51:49

OSG的编译不需要任何第三方库也可以完成,出现红色选项只要再次configure就可以了,很多事情可以自己去尝试,不必遇到迷惑就止步不前——这些操作不会报废您的电脑也不会让您身陷牢狱,您又担心什么呢 :)
无法打开osg.lib说明您自己的工程没有配置好,和编译无关。

zh121314zh12 发表于 2010-10-22 00:01:35

本帖最后由 zh121314zh12 于 2010-10-22 00:17 编辑

呵呵 我倒是知道不会影响到电脑。毕竟还是有点电脑的基础知识的 。只不过第一次接触这个东西有点不知道到底是哪出的问题。编译后会产生大概多大的文件呢?(不安装第三方库的情况下)还有就是如果不加入第三方库Cmake中还需要配置什么东西?那个无法打开osg.lib是工程配置问题?我的环境变量也设置好了 可以从cmd识别命令osgversion 在2008里面添加include lib bin 文件路径 都是编译后的那些文件夹路径吧。然后新建项目,源文件中添加 cpp文件 输入代码。工程 属性 link 加上OpenThreads.lib;osg.lib;osgDB.lib;osgUtil.lib;osgGA.lib;osgText.lib;osgViewer.lib
这些。还有什么。。。。。

array 发表于 2010-10-22 08:19:30

您是否配置了依赖库路径,否则VS从什么地方找到您的依赖库

zh121314zh12 发表于 2010-10-23 11:54:22

您指的是哪一步配置依赖库路径? 不是添加lib 和 include 路径那一步吗?是 以下这两步么?:2)在project-properties中选择configuration properties-c/c++,在additional include directories中输入“$(OSGDIR)\include”。
3)选择configuration properties-linker,在additional library directories中输入“$(OSGDIR)\lib”。

zh121314zh12 发表于 2010-10-26 23:02:31

问题已经解决了呵呵 array麻烦你了啊:)

zh121314zh12 发表于 2010-10-28 13:04:38

还有一个问题还要麻烦您一下 我朋友的机子编译OSG的时候出现一个错误如图 请问是什么问题?怎么解决呢?

tianxiao888 发表于 2010-10-29 20:00:39

能给出具体点的东东么

zh121314zh12 发表于 2010-10-30 00:50:10

本帖最后由 zh121314zh12 于 2010-10-30 00:51 编辑

恩 。。是3rd party的问题 但是我的3dr party是从这个上面给的文件中转站下载的啊? 怎么有问题呢? 我换了一个3rd party问题解决了。。
页: [1] 2
查看完整版本: 安装osg--初学者可参考