查看: 12268|回复: 41

安装osg--初学者可参考

[复制链接]

该用户从未签到

发表于 2010-9-27 20:51:58 | 显示全部楼层 |阅读模式
最近学习osg,看着王锐、钱学雷的openscenegraph三维渲染引擎设计与实践和网上的相关资料,下载并安装了osg2.8.0,将步骤记录了下来,可供初学者参考。

osg安装步骤总结.rar

1.95 KB, 下载次数: 752, 下载积分: 威望 1

该用户从未签到

发表于 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/pr ... nloads/Dependencies
“VisualStudio 8 (2005) SP1 - svn access directory ”

5、下载示例:
http://www.openscenegraph.org/pr ... oads/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
注意ebug版本的工程和Release版本的工程所依赖的OSG库文件类型相同,但名称有区别.Debug版本的文件名末尾有"d"标识。根据用户需要的不同,还可以添加其他库依赖文件,这些文件在osg的lib文件夹中。

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

该用户从未签到

发表于 2010-9-28 08:27:57 | 显示全部楼层
补充一点,cmake的build_osg_wrappers选项没有必要选中,一般的用户不会用到它;这个选项及相关的osgIntrospection库在2.9.8之后已经去除

该用户从未签到

发表于 2010-9-28 11:25:15 | 显示全部楼层
支持分享

该用户从未签到

发表于 2010-9-28 11:25:30 | 显示全部楼层
支持分享

该用户从未签到

发表于 2010-9-28 19:22:04 | 显示全部楼层
环境怎么设置啊,我怎么找不到bin目录啊

该用户从未签到

 楼主| 发表于 2010-9-28 20:28:02 | 显示全部楼层
bin目录在你之前运行CMake时设置的cmake_install_prefix中定义。我的是在D盘下。

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

该用户从未签到

发表于 2010-9-29 09:19:42 | 显示全部楼层
现在的osgversion已经修正了之前的系统编码问题,不需要再手动修改了

该用户从未签到

发表于 2010-10-1 21:46:29 | 显示全部楼层
请问 您所说的这个步骤 能用于 vs 9.0 吗?

该用户从未签到

 楼主| 发表于 2010-10-3 20:41:58 | 显示全部楼层
应该能。下载的资源要支持VisualStudio 9 (2008) 的。

该用户从未签到

发表于 2010-10-6 19:41:34 | 显示全部楼层
都需要下载什么呢? 为什么我用Cmake 导入CMakeLists.txt 时候显示
Error in configuration ,project files may be invalid.  这是什么问题?

该用户从未签到

发表于 2010-10-6 21:26:31 | 显示全部楼层
您是如何导入CMakeLists.txt的?是根目录下的文件吗

该用户从未签到

发表于 2010-10-6 21:35:32 | 显示全部楼层
我的目录是E:\OSG\OpenSceneGraph-2.8.0  E 盘 是我的系统盘

该用户从未签到

发表于 2010-10-6 22:07:02 | 显示全部楼层
我弄好了 呵呵  刚才一打开VS 才发觉是我的VS 到期了  谢谢啦

该用户从未签到

发表于 2010-10-19 16:12:35 | 显示全部楼层
我在编译all build 过程中出现很多错误 基本上错误如图。请问会影响到 之后的编译吗? 错误范式.jpg

该用户从未签到

发表于 2010-10-19 17:11:00 | 显示全部楼层
您的png插件没有配置好libpng依赖库,或者libpng静态库文件存在问题

该用户从未签到

发表于 2010-10-19 18:30:48 | 显示全部楼层
png插件? 我没用过那个啊 我是用Cmake 导入的那个list的文件 然后按照上面的配置没有红色的项之后 generate完成 点开.sln 文件 all biuld 生成了大概5G的文件 完成后就显示那些错误  我的步骤中有什么缺失么?

该用户从未签到

发表于 2010-10-20 08:18:16 | 显示全部楼层
您的错误提示已经说明了一切,您可以检查cmake中png开头的选项,看看您是如何配置的,以及您选择的第三方库是否有问题

该用户从未签到

发表于 2010-10-20 17:35:35 | 显示全部楼层
我的第三方库如图1 是从qq那个公共的文件中转站下载的 我看上面的过程中并没有配置有关png的 东西啊 今天我又新编译了下 install 好像没有几个能生成的。。全是错误而且都是无法解析。从里面看到了有关png的错误。
第三方库.jpg
cmakecache中的png配置.jpg

该用户从未签到

发表于 2010-10-20 23:12:41 | 显示全部楼层
我又看了下 CMAke 里面只有1个 png的选项 路径是 PNG_LIBRARY_DEBUG E:\OSG\3rdParty\lib\libpngd.lib

该用户从未签到

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

该用户从未签到

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

该用户从未签到

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

该用户从未签到

发表于 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
这些。还有什么。。。。。

该用户从未签到

发表于 2010-10-22 08:19:30 | 显示全部楼层
您是否配置了依赖库路径,否则VS从什么地方找到您的依赖库

该用户从未签到

发表于 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”。

该用户从未签到

发表于 2010-10-26 23:02:31 | 显示全部楼层
问题已经解决了  呵呵 array  麻烦你了啊

该用户从未签到

发表于 2010-10-28 13:04:38 | 显示全部楼层
还有一个问题还要麻烦您一下 我朋友的机子编译OSG的时候出现一个错误如图 请问是什么问题?怎么解决呢?
Error.jpg

该用户从未签到

发表于 2010-10-29 20:00:39 | 显示全部楼层
能给出具体点的东东么

该用户从未签到

发表于 2010-10-30 00:50:10 | 显示全部楼层
本帖最后由 zh121314zh12 于 2010-10-30 00:51 编辑

恩 。。是3rd party的问题 但是我的3dr party是从这个上面给的文件中转站下载的啊? 怎么有问题呢? 我换了一个3rd party问题解决了。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表