您的位置:首页 > 其它

OSG安装步骤

2015-09-28 08:51 295 查看
有问题或不明白的在评论中指出,多谢各位大牛。2015年9月27号,接触到OSG使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。
用到这个的朋友,下面是安装步骤:

1.资源下载

1)OSG库:OpenSceneGraph-3.0.1.zip
http://www.osgchina.org/projects/osgcn/wikicn/Downloads.php
2)安装源代码所需要的工具:cmake-2.8.7-win32-x86.exe (下载的ZIP文件里面找不到运行软件的程序,推荐下载可直接执行程序)
http://www.cmake.org/cmake/resources/software.html
3)3rdParty :windows-VS9.0.30729-x86-debug
http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/depends/windows-VS9.0.30729-x86-debug.7z
4)数据文件包:OpenSceneGraph-Data-3.0.0.zip
http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets
解压放在自己新建的文件中,方便以后的使用,如下图1。



2.CMake使用

接下来用CMake生成VS2008的工程
1)在C:\OSG\OpenSceneGraph 下建立两个文件夹,分别命名为bin、build(放置后面生成的东西)。
2)运行CMake,将C:\OSG\OpenSceneGraph下的CMakeLists.txt拉到CMake界面里。
设置where is the source code 为“C:\OSG\OpenSceneGraph”
Where is build the binaries 为”C:\OSG\OpenSceneGraph\build“

3).点下configure按键,选择VS 9 2008 (可能会出现警告,可以忽视)
4).设置相关的cache value参数,这里主要设置的参数包括:

ACTUAL_3RDPARTY_DIR:设置为前面的D:\OSG\3rdParty

BUILD_OSG_EXAMPLES:ON,即编译实例

CMAKE_INSTALL_PREFIX:C:/OSG/OpenSceneGraph/bin,设置编译成功后,相关的库文件存放的地址,切勿忘记,然后点击Configure按钮,进行第二次配置。

5).之后勾上BUILD_MFC_EXAMPLE还有勾选Advanced复选框,知道没有红色的框出现。
3.编译程序

在自己新建的“**\\build”文件夹里面找到“***.sln”文件打开,一般直接点击编译就可以了,但是我在操作的时候出现了bug,出现了microsoft incremental linker异常停止,我的解决办法,下载了最新的sp1包,然后更新安装,这个问题就解决了。网上教程说的方法一(解决方案一:项目->属性->链接器->常规
下面的“启用增量链接”,将“是(/INCREMENTAL)”改为“否(/INCREMENTAL:NO)”。不过这又引入了另外一个警 告:FormatCom.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/INCREMENTAL:NO”规范)选择项目,属性->配置属性
->C/C++,修改“调试信息格式”为“程序数据库(/Zi)”即可。)并没有出现我想要的效果,而且属性配置里面没有c/c++选项,如果要出现这个选项就在设置为启动项目录下新建一个*.cpp文件,之后就出现了。

编译结束后,我发现在文件的*\\build文件中出现了.dll文件,*\\bin, *\\lib出现了我想要的文件。

现在要做的就是把3dparty文件中的include下面文件bin,include,lib文件全部拷贝到OSG\OpenSceneGraph-3.0.1\include,OSG\OpenSceneGraph-3.0.1\build\bin,OSG\OpenSceneGraph-3.0.1\build\lib对应放好。在vs2008中工具->选项中,自己找到包含文件和库文件,填写相应的路径。

4.配置路径

在path里面添加;C:\OSG\OpenSceneGraph\build\bin个人根据自己的设置进行修改。可以在dos界面中测试,osgviewerd(表示debug编译),osgviewer(表示Release编译) cow.osg会出现一个牛的图形。

5.测试程序

编写代码:

<span style="white-space:pre"> </span>#include<windows.h>
<span style="white-space:pre"> </span>#include<gl/gl.h>
<span style="white-space:pre"> </span>#include<gl/glu.h>
<span style="white-space:pre"> </span>#include<osgViewer/Viewer>
<span style="white-space:pre"> </span>#include<osgDB/ReadFile>

<span style="white-space:pre"> </span>int main(int,char**)
<span style="white-space:pre"> </span>{

<span style="white-space:pre"> </span> osgViewer::Viewer viewer;
<span style="white-space:pre"> </span> viewer.setSceneData(osgDB::readNodeFile("fountain.osgt"));
<span style="white-space:pre"> </span> return viewer.run();
<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>
项目设置:

修改链接器\常规\使用库依赖项输入为:”是”。

然后在链接器\输入\附加依赖项中
添加OpenThreadsd.libosgd.lib osgDBd.lib osgUtild.lib osgGAd.lib osgViewerd.lib osgTextd.lib 这几项。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: