Win7下OSG开发环境的搭建
来源:第三维度
作者:孤舟釣客
近日要用到OSG(OpenSceneGraph)做点东西,以前没用过,从环境搭建开始。
从同学那拷来他的库,然后修改环境变量什么的,抄上一小段代码,编译没错,运行出错(应用程序无法正常启动(0xc0150002)),如下:
百度之,都是关于QQ在Win7下出的错,有贴曰:由于WIN7系统未加载Visual C++库,而QQ2009是基于VC++2005开发,所以需要到微软的官方网站下载补丁程序以便程序正常运行。破Win7系统老出事,怒而欲换成XP,后怕麻烦强忍之。思之,我系统怎会无VC++库?VS2010+VS2005会缺VC++库?
既然OSG是开源的,于是找来源码,自己编译。编译了四五个小时,生成了四五个G的文件,配好环境,输入代码,编译无错,运行又错。
说什么Unable to find plugins to read“乱码”……
后发现没弄好第三方开发库支持。。。
下载之,编译之,写代码,运行,终于好了,把过程记下来。
过程:
1.下载OpenSceneGraph-2.9.9源码
http://www.OpenSceneGraph.org/projects/osg/wiki/Downloads/DeveloperReleases
2.下载第三方开发库支持 3rdParty-x86-VS-2010.zip
http://www.OpenSceneGraph.org/projects/osg/wiki/Downloads/Dependencies
3.下载示例数据 OpenSceneGraph-Data-2.8.0.zip
http://www.OpenSceneGraph.org/projects/osg/wiki/Downloads/SampleDatasets
4.下载CMake
http://www.cmake.org/cmake/resources/software.html
5.文件存放如下:
D:\OSG\3rdParty D:\OSG\OpenSceneGraph-2.9.9 D:\OSG\OpenSceneGraph-Data-2.8.0
6.CMake使用:
然后点 configure键,选VS2010,CMake下面选择如下,特别别忘了第三方库选择正确位置。
7.点generate生成VS2010的解决方案文件,用VS2010打开它。
先生成ALL_BUILD的 Debug和 Release版
发现bin/plugin2.9.9中没有文件,以为又编译错了,又生成INSTALL的 Debug和 Release版终于有了。
在C盘下建立OSG文件夹,又建了几个子文件夹,把生成的release版和Debug版dll,lib,exe都拷贝到新建的文件夹中。
8.环境变量:
测试:
打开命令提示符,测试osgversion, osglogo, osgviewer
osglogo结果
osgviewer cow.osg 显示老牛。
9.打开VS2010,拷贝上一段代码:
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
#pragma comment(lib, "osgd.lib")
#pragma comment(lib, "osgDBd.lib")
#pragma comment(lib, "osgViewerd.lib")
#pragma comment(lib, "osgUtild.lib")
int main(int, char **)
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
return viewer.run();
}
10.配置属性中的包含目录和库目录
11.把同学处得来的data文件夹放在上述位置(我自己的不知为何没生成),编译,运行。
老牛终于出现了。
这样 Win7 + VS2010 + osg2.9.9环境就搭建好了。
开始学习OSG编程。