此文为转载,原文请见www.hesicong.net
OpenSceneGraph是一个很大的开源工程,如果要自己编译的话要花一些功夫,而且开源的经常有一些依赖库的原因经常编译失败。开源还有一个问题就是文档有时候跟不上源代码,这个是最恼火的事情。通过好几天的摸索,反复阅读www.openscenegraph.org上面的相关文章,终于在VC++2005环境下面编译成功,现分享如下:
一、OSG源代码的获取:
      1、SVN的方式:
            参见http://www.openscenegraph.com/index.php?page=Downloads.SVN
            缺点:速度比较慢
      2、NightlyTarballs(推荐,以下叙述都以此为基础):
            可以自动生成最新的源代码。地址:http://openscenegraph.org/downloads/developer
            优点:速度快,源代码保持最新。
二、第三方代码获取:
      如果你只编译Core osgXXXX的话可以跳过此步骤。
      由于OSG的有一些plugin需要第三方库的支持,所以必需要找到相应的库才能编译完成。
      从http://www.openscenegraph.com/index.php?page=Downloads.Dependencies可以得到一个WIN32库的压缩包(http://openscenegraph.org/downloads/dependencies/3rdParty_Win32binaries_2005_05_10.zip)
三、准备:
      准备一个空目录,这里暂时取名为osg
      建立4个目录:
      解压下载的NightlyTarballs和3rdParty到这个目录
      这时目录结构为:
      3rdParty_xxxxxx
      OpenSceneGraph_xxxxxx
      OpenThreads_xxxxx
      Producer_xxxx
      重命名这些文件夹为3rdParty, OpenSceneGraph, OpenThreads, Producer
四、编译OpenThreads和Producer
      进入OpenSceneGraph\OpenThreads\win32_src,打开OpenThreads.dsw,按提示转换项目。
      然后各种类型Debug、Release、Debug Static、Release Static各编译一次,得到4种库,方便后面使用。
      Producer的编译方法基本相同。
五、编译OpenSceneGraph:
此文为转载,原文请见www.hesicong.net
      进入OpenSceneGraph\VisualStudio目录可以看到OpenSceneGraph.dsw,直接打开以后VS2005会提示转换为VC8项目,转换并保存sln文件。
      由于文件较多,载入时间会相应较慢,请耐心等待。
      下面正式开始批量编译。
      1、首先保证磁盘有充足的空间。我选择Debug和Release模式编译了Core、Plugin、Example后,OSG目录总共消耗了3.23GB的硬盘空间。如果还有其它需要编译的项目可能需要更大的磁盘空间。
      2、菜单-》生成-》批生成
      3、选择需要编译的项目。
           一般选择配置为Debug和Release的就够了。Debug用于自己写程序调试,Release用于最后的发行。千万不要选择Debug Static和Release Static这种静态链接库,否则消耗大量磁盘空间和编译时间。
           编译的项目至少包含Core xxx。osgPlugin和Example视情况而定。
      4、按“生成”就开始了漫长的编译过程,这时候可以出去晒晒太阳,或者出去好好的每餐一顿。如果还编译了Example的话那么推荐再睡一觉,这样就有更多的精力处理编译出错的问题:)
六、一般编译错误问题:
此文为转载,原文请见www.hesicong.net
      1、找不到一些库,常见于OpenThread32.lib,Producer.lib等。这时候需要确认所有目录是不是放置正确。确认生成了必要的文件。
      2、找不到头文件。如果是编译osgPlugin出错的话,你可以试着寻找一下所需要的其它库。3rdParty里面的库不完整,比如新的osgPlugin COLLDIA dae就无法编译,少了几个头文件。
      3、找不到导出的函数。例如说找不到osgSim::xxxxxxx,确认你生成了osgSim这个项目。
      4、更多问题:订阅OpenSceneGraph Mailing-List
六、运行Examples
       编译好的examples最好在shell里面运行。
       进入osg\OpenSceneGraph\VisualStudio,运行osgShell.bat。这个批处理文件会注册一些变量以便程序使用。
此文为转载,原文请见www.hesicong.net
七、如果还有问题
       确认按照此步骤进行。如果还有问题,请留言。
       其它问题请订阅OpenSceneGraph Mailling-list,前提是需要有一个良好的英文基础:)
祝大家成功!
此文为转载,原文请见www.hesicong.net
文章来源:http://www.hesicong.net/pjblog/default.asp?id=189

转载于:https://www.cnblogs.com/hesicong/archive/2007/03/28/695361.html

[导入]OpenSceneGraph编译指导相关推荐

  1. OpenFoam-6 导入并编译一个新湍流模型

    OpenFoam-6 导入并编译一个新湍流模型 本文参考了以下链接 http://hassankassem.me/posts/newturbulencemodel/#new-version https ...

  2. [OpenSceneGraph入门指导]1.6 OpenSceneGraph 概览

    OSG 包含了一系列的开源图形库,主要为图形图像应用程序的开发提供场景管理和图形渲染优化的功能.它使用可移植的ANSI C++编写,并使用已成为工业标准的OpenGL 底层渲染API.因此,OSG 具 ...

  3. android项目模块导入eclipse编译报错,android中studio导入eclipse项目报错怎么办

    android中studio导入eclipse项目报错怎么办 发布时间:2020-07-15 17:34:45 来源:亿速云 阅读:96 作者:清晨 这篇文章将为大家详细讲解有关android中stu ...

  4. android项目模块导入eclipse编译报错,android环信demo导入eclipse编译出错

    官网最新下载的android环信sdk,导入编译出错:java.lang.RuntimeException: Unable to instantiate application com.hyphena ...

  5. DICOM:dcm4che开源项目导入Eclipse编译错误问题解决方案

    背景: 马上跨年了,记得小时候元旦都不是事儿,怎么长大了长大了感觉越来越热闹了反而.各种饭局.各种party,有点hold不住.还是回来整理一下这一年的笔记比较舒服,比较有收获.看了看这个月竟然发文量 ...

  6. 重新编译开源代码绕过杀毒软件(无导入表编译)

    重新编译开源代码绕过杀毒软件 由于大多数加壳软件并不会修改被修改文件的导入表,所以杀毒软件除了计算整个可执行文件的hash值外还会计算pe文件的导入表(import address tables)的h ...

  7. appinventor多个拓展导入导致编译出错:

    报错内容: App Inventor is unable to compile this project. The compiler error output was ________Preparin ...

  8. (8)C#导入库编译出错:请考虑使用 app.config 将程序集“log4net, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a”

    当引用SuperSocket类库时,导致编译出下面的提示: 请考虑使用 app.config 将程序集"log4net, Culture=neutral, PublicKeyToken=66 ...

  9. CorelDRAWX4的C++插件开发(三十八)纯C++插件开发(2)导入tlb编译文件

    上一节文件建立好了之后,我们把Debug模式改成X86,如果找不到的话,可以在视图-工具栏-标准找到这个界面,因为X4不支持64位的,所以我们只能让他在32位的环境中进行编译调试 然后我们点开顶部项目 ...

最新文章

  1. MD5介绍及Windows下对文件做md5校验。
  2. 耐高温防腐计算机电缆,防腐耐高温计算机屏蔽控制电缆
  3. python常用内置函数总结-Python学习教程之常用的内置函数大全
  4. Java 关于File使用
  5. Python学习笔记:安装python
  6. python多级目录import_你真的会用Python模块与工具包吗?
  7. php点加等于0,php 做数学运算时结果为0的原因
  8. mysql limti_mysql优化
  9. 计算机没考好的检讨书300百以上,考试没考好的万能检讨书300字(精选5篇)
  10. 遭遇Asp.Net长文件名下载的问题和解决办法
  11. “添加删除WIndows组件”中没有IIS时安装IIS方法
  12. matlab函数sinh,matlab sinh 使用方法
  13. 众人帮怎么发布悬赏任务?发布任务所需要求条件是什么?
  14. android降低屏幕分辨率,让游戏更尽兴 手动调低Android手机屏幕分辨率
  15. va_list使用方法
  16. 二舅治好我的精神内耗,也让我火出了B站
  17. 定义一个鸭子的类java_2019-02-11——Java 鸭子模型
  18. 优化工具MOZ功能详细解说
  19. 数字计算机模拟人脑,人造突触问世计算机模拟人脑不是梦
  20. Atcoder TOYOTA SYSTEMS Programming Contest 2021(AtCoder Beginner Contest 228) B - Takahashi‘s Secret

热门文章

  1. Java从零开始学二十三(集合Map接口)
  2. jQuery命名空间,插件开发
  3. 2013-10-31 《October 31st, 2013》
  4. SQL 2000 异数据库数据同步
  5. Zapcc:一个更快的C++编译器
  6. boost::asio译文
  7. 分享一百多套开发视频教程的下载地址(转)
  8. python爬虫知识点总结(十三)使用代理处理反扒抓取微信文章
  9. ReactJS学习笔记——npm、JSX、webpack
  10. 校招真题练习011 种花(美团)