vs2008中构建osg开发环境

要做osg了,花了一天多的时间才把环境搭建起来,在这里记录一下,也希望可以帮助更多的人。

第一步,下载所需要的安装包

OpenScenceGraph,cmake,3rdparty,OpenSceneGraph-Data.

这4个东西几乎是必备的(OpenSceneGraph-Data是用来演示的例子,测试开发环境是否搭建好),

但是只有OpenScenceGraph,OpenSceneGraph-Data在网上容易找到,cmake和3rdparty在网上都不容易找到。

如果找不到,可以发送信息到[email protected]这个邮箱,我可以发送给大家。

下载后的文件位置如下图:cmake和3rdparty都在在3rpart_cmake文件夹里面

vs2008中构建osg开发环境_第1张图片

 

第二步,启动cmake

vs2008中构建osg开发环境_第2张图片


并在where is the source code:选项栏中指定OpenScenceGraph的路径,在where to build the binaries:选项栏中指定编译后输出的路径,为了方便识别,我将它们放在同一级目录中。然后点击configure.

 

然后选择编译器,因为本机是vs2008而且vs是32位的,所以选择的是visual studio 9 2008,不同的环境选择的不一样,如果选择错误,可能会出现类似the project file is invalid的错误提示,如果这样,可以换成其他的编译器试试看

vs2008中构建osg开发环境_第3张图片

点击finish选择完编译器后点击configure,开始配置,如下图所示:

vs2008中构建osg开发环境_第4张图片

接下来会出现如下界面,提示configuring done!,但是要注意上面的界面为红色,这是因为还有地方要修改,还没有配置完成。

vs2008中构建osg开发环境_第5张图片

主要要修改的地方是选项:ACTUAL_3RDPARTY_DIR的值,这个属性从字面意思就可以知道应该选3rdpart的路径,3rdpart就是最开始需要下载的安装包,然后BUILD_OSG_EXAMPLES这个选项最好也勾上。其他的就不用管了,如下图:

vs2008中构建osg开发环境_第6张图片

这两个地方修改后再次点击configure按钮,上面任然会出现红色,这是因为还有一个地方要修改,就是BUILD_MFC_EXAMPLE这个选项也要勾上,如下图,然后再点击configure.



这是configure后上面的颜色终于不是红色的了,表示可以继续下一步操作了,如下图:

vs2008中构建osg开发环境_第7张图片

然后点击generate,如下图:

vs2008中构建osg开发环境_第8张图片

最后配置成功,如下图:




第二步的工作就完成了

 

第三步:打开之前where to build the binaries中设置的目录找到其中的ALL_BUILD.vcproj,使用vs2008打开。

vs2008中构建osg开发环境_第9张图片

然后在vs2008的菜单栏中选择“生成”->“批生成”,并勾上如下两项,然后选择生成,如下图

vs2008中构建osg开发环境_第10张图片
接下来就是漫长的编译时间了,因为需要编译的工程比较多,这个过程会持续很久,在我的机器上运行了3个多小时才完成。如下图:



并且在编译的过程中出现了这两个错误,我没理他,最后好像也没多大的影响,但是感觉影响肯定是有的,以后出现了问题再把那些工程重新编译下吧,现在重要的是把环境搭起来,能运行简单的例子。

这两个错误也记录下来了:

LINK : fatal error LNK1000: Internal error during IncrBuildImage

warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

 

编译后的工程VSProject1中含有如下内容,如图:vs2008中构建osg开发环境_第11张图片
此时最重要的3个文件夹lib,bin,include中bin和lib里的文件应该没问题,但是include文件中可能没东西,这个的处理办法也很简单,就是将OpenScenceGraph源码包中的inculde文件夹copy过来并覆盖VSProject1中的include文件夹

这里面有用的就3个文件夹,一个是lib,一个是bin,还有一个是include,为了方便使用,把他们单独拿出来,放在如下位置:



 

第三步的工作也做完了,如果走到这一步,表示环境搭建起来没多大问题了。

 

第四步:设置环境变量

需要设置两个环境变量

在环境变量中添加OSG_FILE_PATH这个变量,然后将它的值设为OpenSceneGraph-Data的路径,我设置:OSG_FILE_PATH:D:\OpenScenceGraph\OpenSceneGraph-Data-3.0.0\OpenSceneGraph-Data-3.0.0;

在环境变量path中添加一个值,就是编译后生成的bin路径,上面的截图中也有,为:

D:\OpenScenceGraph\OpenScenceGraph\bin

环境变量设置好了以后可以测试一下了

 

打开cmd,输入osgversion,会出现使用osg的版本,

但是也有可能出现提示缺少zlib1.dll的提示,安装一下就可以了,正常情况下会出现如下图所示的情况:



输入osgviewer glider.osg会显示OpenSceneGraph-Data源码包中的例子,如下图:

vs2008中构建osg开发环境_第12张图片


第五部:在vs2008工程中设置依赖文件,并编写一个例子

打开vs2008,新建一个C++工程,选择控制台程序,然后选择生成一个空项目

再在菜单栏中依次选择“工具”->“项目和解决方案”->“VC++目录”如下图:



点击右上角的“显示一下内容的目录”下面的下拉菜单

在“可执行文件”中添加bin文件夹得路径:D:\OpenScenceGraph\OpenScenceGraph\bin

在“引用文件”中添加include文件夹的路径:D:\OpenScenceGraph\OpenScenceGraph\include

在“库文件”中添加lib文件夹得路径:D:\OpenScenceGraph\OpenScenceGraph\lib

这三个路径上面在第三步结束时的截图中也有。

 

接下来编写一个例子

在项目的“源文件”中新建一个项,选择“c++”文件,里面添加如下代码:


#ifdef _DEBUG
#pragma comment(lib,"osgd.lib")
#pragma comment(lib,"osgDBd.lib")
#pragma comment(lib,"osgViewerd.lib")
#pragma comment(lib,"OpenThreadsd.lib")
#else
#pragma comment(lib,"osg.lib")
#pragma comment(lib,"osgDB.lib")
#pragma comment(lib,"osgViewer.lib")
#pragma comment(lib,"OpenThreads.lib")
#endif

#include <osgViewer/Viewer>
#include <osgDB/ReadFile>

int main(){
 osgViewer::Viewer viewer;
 osg::Node * node=new osg::Node;
 node=osgDB::readNodeFile("glider.osg");
 viewer.setSceneData(node);
 return viewer.run();

}

运行结果如下图:

vs2008中构建osg开发环境_第13张图片

成功!

 


你可能感兴趣的:(vs2008中构建osg开发环境)