安装osg--初学者可参考
最近学习osg,看着王锐、钱学雷的openscenegraph三维渲染引擎设计与实践和网上的相关资料,下载并安装了osg2.8.0,将步骤记录了下来,可供初学者参考。 既然文字并不是很多,我就帮您贴出来了,感谢楼主有心分享 :)一下载资料:
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渲染引擎的强大吧。 补充一点,cmake的build_osg_wrappers选项没有必要选中,一般的用户不会用到它;这个选项及相关的osgIntrospection库在2.9.8之后已经去除 :handshake支持分享 :handshake支持分享 环境怎么设置啊,我怎么找不到bin目录啊 bin目录在你之前运行CMake时设置的cmake_install_prefix中定义。我的是在D盘下。
还有一个要说明的是,osgversion.cpp和有些插件库需要手动进行一些修改才能使用,详见openscenegraph三维渲染引擎编程指南,肖鹏等编著的,第1.3.2节。我编译时没改,昨晚才看到这本书。 现在的osgversion已经修正了之前的系统编码问题,不需要再手动修改了 请问 您所说的这个步骤 能用于 vs 9.0 吗? 应该能。下载的资源要支持VisualStudio 9 (2008) 的。 都需要下载什么呢? 为什么我用Cmake 导入CMakeLists.txt 时候显示
Error in configuration ,project files may be invalid.这是什么问题? 您是如何导入CMakeLists.txt的?是根目录下的文件吗 我的目录是E:\OSG\OpenSceneGraph-2.8.0E 盘 是我的系统盘 我弄好了 呵呵刚才一打开VS 才发觉是我的VS 到期了谢谢啦 我在编译all build 过程中出现很多错误 基本上错误如图。请问会影响到 之后的编译吗? 您的png插件没有配置好libpng依赖库,或者libpng静态库文件存在问题 png插件? 我没用过那个啊 我是用Cmake 导入的那个list的文件 然后按照上面的配置没有红色的项之后 generate完成 点开.sln 文件 all biuld 生成了大概5G的文件 完成后就显示那些错误我的步骤中有什么缺失么? 您的错误提示已经说明了一切,您可以检查cmake中png开头的选项,看看您是如何配置的,以及您选择的第三方库是否有问题 我的第三方库如图1 是从qq那个公共的文件中转站下载的 我看上面的过程中并没有配置有关png的 东西啊 今天我又新编译了下 install 好像没有几个能生成的。。全是错误而且都是无法解析。从里面看到了有关png的错误。 我又看了下 CMAke 里面只有1个 png的选项 路径是 PNG_LIBRARY_DEBUG E:\OSG\3rdParty\lib\libpngd.lib 打开ADVANCED开关,再好好看一看~~您不是已经把CMakeCache中的信息列出来了?它们必然也会出现在cmake-gui中,我没有用过您说的那个第三方库,并且谨慎怀疑它们存在某些问题。如果摒除这个第三方库包再编译OSG,我想您不会遇到任何问题的,现在的OSG编译过程只能用非常简单来形容了…… 呵呵 我是刚开始接触OSG 以前也没有接触过类似的编译过程。所以有点找不着方向 网上各种安装过程。。在细节上的差别 就导致了不敢去配置一些东西 摒除第三方库? CMake 中不会出现红项么? 我也用过安装版的OSG 结果还是显示无法打开osg。lib :dizzy: OSG的编译不需要任何第三方库也可以完成,出现红色选项只要再次configure就可以了,很多事情可以自己去尝试,不必遇到迷惑就止步不前——这些操作不会报废您的电脑也不会让您身陷牢狱,您又担心什么呢 :)
无法打开osg.lib说明您自己的工程没有配置好,和编译无关。 本帖最后由 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
这些。还有什么。。。。。 您是否配置了依赖库路径,否则VS从什么地方找到您的依赖库 您指的是哪一步配置依赖库路径? 不是添加lib 和 include 路径那一步吗?是 以下这两步么?:2)在project-properties中选择configuration properties-c/c++,在additional include directories中输入“$(OSGDIR)\include”。
3)选择configuration properties-linker,在additional library directories中输入“$(OSGDIR)\lib”。 问题已经解决了呵呵 array麻烦你了啊:) 还有一个问题还要麻烦您一下 我朋友的机子编译OSG的时候出现一个错误如图 请问是什么问题?怎么解决呢? 能给出具体点的东东么 本帖最后由 zh121314zh12 于 2010-10-30 00:51 编辑
恩 。。是3rd party的问题 但是我的3dr party是从这个上面给的文件中转站下载的啊? 怎么有问题呢? 我换了一个3rd party问题解决了。。
页:
[1]
2