1、 前言
本文讲解了OSG在Windows环境下的安装。
OpenSceneGraph可移植性非常强,支持主流Unix、Windows、Linux、Mac OSX等操作系统,支持多种编译器,这里主要讲Windows NT系列系统下使用Visual Studio.Net 2003(VC7.1)进行开发,这是在Windows下推荐的组合。文中所涉及的版本是 0.9.8-2。
2、 下载
要建立一个基本环境,需要下载如下三个包:
OSG_OP_OT- 0.9.8-2.zip:包括OpenThreads,OpenProducer和OpenSceneGraph,前两者是OSG最重要的依赖包。
3rdParty_Win32binaries_ 2004-07-25a.zip:第三方依赖包,包括OSG各个插件的依赖包,比如libpng,libjpeg……,随着OSG的不断更新,文件名后面跟随的日期可能不一样。
OpenSceneGraph-Data.zip:一些示例数据,对学习OSG非常有用。
打开OSG官方网站http://www.openscenegraph.org,在左边树型菜单里可以找到Downloads,点击进入下载页。可以找到OSG_OP_OT- 0.9.8-2.zip,点击Dependencie链接可以找到3rdParty_Win32binaries,点击SampleDataset可以找到OpenSceneGraph-Data.zip。
3、 编译
完全编译OSG需要接近 5G的磁盘空间,所以在适当的地方建立一个目录用来存放OSG所有的文件,比如E:/OpenSceneGraph,将OSG_OP_OT- 0.9.8-2.zip和OpenSceneGraph-Data.zip解压缩到这个目录。以后我就以这个目录为基础讲解。
因为第三方库很多,不建议把可执行文件放到System32目录下,头文件和库文件也不该放到VC对应目录,那样是一种“污染”,因为这些第三方库会不断更新的,建议把这些统一放在一起,比如在D:/建立目录usr,将3rdParty_Win32binaries里面的文件解压到这里。然后在系统PATH环境变量添加D:/usr/bin,打开VS2003集成开发环境,在工具-》选项-》项目里,在对应项添加D:/usr/include和D:/usr/lib目录。最后在Windows系统添加环境变量OSG_FILE_PATH,将其指向OpenSceneGraph-Data目录,即E:/OpenSceneGraph/OpenSceneGraph-Data/,这样环境设好了。
首先编译OpenThreads,打开E:/OpenSceneGraph/OSG_OP_OT- 0.9.8-2/OpenThreads/win32_src/OpenThreads.dsw,将其转为VC7.1工程,分别编译Debug版和Release版,保存并关闭工程。
然后编译OpenProducer ,打开E:/OpenSceneGraph/OSG_OP_OT- 0.9.8-2/Producer/VC++6.0/ Producer.dsw,将其转为VC7.1工程,分别编译Debug版和Release版,保存并关闭工程。
最后编译OpenSceneGraph,打开E:/OpenSceneGraph/OSG_OP_OT- 0.9.8-2/OpenSceneGraph/VisualStudio/VisualStudio.dsw,将其转为VC7.1工程,选择生成-》批生成,点击全选,然后就去喝茶吧,编译完毕后,保存并关闭工程。
4、 配置
编译完成后,要想进行开发,还需要把OpenThreads、OpenProducer、OpenSceneGraph生成的动态链接库、头文件和连接库拷到D:/usr对应目录。这样下次新建工程VC就能找到头文件和库文件了,运行OSG程序的时候也能找到动态链接库了。
5、 测试
可以通过运行E:/OpenSceneGraph/OSG_OP_OT- 0.9.8-2/OpenSceneGraph/目录里的runexamples.bat来测试OSG是否编译配置成功,同时还能欣赏一下OSG的能力。
6、 总结
开源软件因为文档不全和缺乏测试,很多时候下载了都不能通过编译,或者编译步骤复杂,OpenSceneGraph是我用过的很少的能够打开工程然后编译成功的,也体现了OSG软件本身和社区的成熟。