查看: 9719|回复: 19

vs2005 sp1 编译(OSG)OpenSceneGraph-2.3.7基本过程

[复制链接]
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-8 15:45:16 | 显示全部楼层 |阅读模式
    作者:bluebird | 08 四月, 2008 12:50
    原文链接:http://www.vrblogs.com.cn/index. ... leId=2&blogId=1

    经过1天时间的摸索和参考网上资料,同时得到 OSG qq群的朋友的帮助,终于把OSG的编译搞定,总的感觉是不难,难的是 5m多的程序一下子变成3.3G多,整的我反复腾空间给它,也辛苦了我的笔记本,累得吱吱响。还好终于圆满完成。我把我的这次过程写到虚拟博客园http://www.vrblogs.com.cn,供初学者参考。

       编译环境:winxpsp2 + vs2005sp1

        相关下载:

        OSG2.3.7下载:http://www.openscenegraph.org/do ... ceneGraph-2.3.7.zip

       Cmake2.4.8 win32安装包下载:http://www.cmake.org/files/v2.4/cmake-2.4.8-win32-x86.exe

       SVN下载:http://jaist.dl.sourceforge.net/ ... win32-svn-1.4.6.msi
       

      3rdParty文件:利用svn下载。我下载的是 vs2005 sp1的:https://osgtoy.svn.sourceforge.n ... 32binaries_vs80sp1/

      例子数据:SVN下载:http://www.openscenegraph.org/svn/osg/OpenSceneGraph-Data/trunk/

       首先要保证运行环境都安装好。

    第一步:下载以上软件和程序

    安装都很简单,不用细谈

    第二步:解压OpenSceneGraph-2.3.7.zip 到 目标目录,比如:d:要求空余空间在4G以上

    目录结构为OpenSceneGraph-2.3.7\OpenSceneGraph-2.3.7;把后面目录改为OpenSceneGraph(非必要)

    OSG的程序文件都在OpenSceneGraph-2.3.7\OpenSceneGraph下;

    然后在OpenSceneGraph-2.3.7下建立3rdParty文件夹

    选择3rdParty目录,鼠标右键选择 svn checkout,然后输入https://osgtoy.svn.sourceforge.n ... 32binaries_vs80sp1/

    确定后下载vs2005sp1的最新第三方库。

    第三步:用CMAke 生成 vs2005sp1解决方案

    准备就绪,打开 cmake gui程序,

    在第一行编辑框中输入 OSG源代码路径: d:\OpenSceneGraph-2.3.7\OpenSceneGraph

    在第二行编辑框中输入 产生的二进制路径:d:\OpenSceneGraph-2.3.7

    然后修改设置参数,首先选中 “show advance values;

    下面的很多参数都已经配置好了,我们根据自己需要在配置一下即可

    基本设置



    在系统编译中还需要设置 freetype的参数,否则编译不会通过

    一定要选择最新的 2.3.5版本





    下来还有个 png库的设置



    好象是最后一个问题了,找到 zlib的设置库文件名发生了变化,改正确即可

    E:/OpenSceneGraph-2.3.7/3rdParty/lib/zlib1.lib

    E:/OpenSceneGraph-2.3.7/3rdParty/lib/zlib1d.lib

    最后 点击 config按钮,直到红色全部变成灰色,出现 OK按钮可用

    然后单击 Ok按钮,vs2005sp1的解决方案及其项目文件大功告成!!赞一下自己,这么有耐心。

    第四步:编译 OSG及其例子等

    先解决 osg编译乱码问题

    找到 d:\OpenSceneGraph-2.3.7\OpenSceneGraph\applications\osgversion\osgversion.cpp

    把里面的 ?,及其一些怪文字都变成字母或删掉,这个无所谓,去掉乱码即可。然后进入最后的编译。

      打开解决方案,选择全部编译,然后你就可以喝咖啡,抽点烟,或者去睡会觉了,我的笔记本花费了大概3个多钟头,不出意外一次就会成功

    最后就是运行程序中的例子了 ,找到bin 吧 数据目录下的文件及其子目录复制到 bin目录,然后就可以看效果了。

    长舒一口气,终于写完了,原创也是如此简单,哈哈

    顺便说下版权:

    本篇文章您可以转载,但请留下一下信息,否则。。。

    本文出自:虚拟博客园 http://www.vrblogscom.cn

    欢迎大家加入到虚拟博客园,把虚拟世界的你我都联系起来。

    该用户从未签到

    发表于 2008-4-8 15:56:57 | 显示全部楼层
    支持一下我的处女作 哈哈

    该用户从未签到

    发表于 2008-4-8 21:02:53 | 显示全部楼层
    不错,支持~~~~~~~~~~~~~~~

    该用户从未签到

    发表于 2008-5-21 18:29:23 | 显示全部楼层

    好东西

    试一下 好东西

    该用户从未签到

    发表于 2008-6-20 15:35:54 | 显示全部楼层

    好帖子 顶起来

    该用户从未签到

    发表于 2008-6-21 21:09:54 | 显示全部楼层
    我同时参考你的和arry的方法
    在试ing

    该用户从未签到

    发表于 2008-7-20 19:45:17 | 显示全部楼层
    先试一下

    该用户从未签到

    发表于 2008-9-18 20:42:50 | 显示全部楼层
    支持蓝鸟

    该用户从未签到

    发表于 2008-12-1 18:00:55 | 显示全部楼层

    编译2.7.5出现的问题,有没有统一的下载第三方库的方法呢?

    到目前为止,最新版本是2.7.5 时,新版本对HTTP有支持,所以我去试着编译了一下。
    开始我用SVN从http://www.openSceneGraph.com里下载的最新的第三方依赖库,下载了OpenSceneGraph-2.7.5.zip,解压缩。
    后来,我用CMAKE编译时发现第三方库缺少了10多个。

    CMAKE如下所示:(缺失的地方)

    CMAKE_AR-NOTFOUND

    COLLADA_INCLUDE_DIR-NOTFOUND
    COLLADA_LIBRARY-NOTFOUND

    DCMTK_ROOT_INCLUDE_DIR-NOTFOUND
    DCMTK_config_INCLUDE_DIR-NOTFOUND
    DCMTK_dcmdata_INCLUDE_DIR-NOTFOUND
    DCMTK_dcmdata_LIBRARY-NOTFOUND
    DCMTK_dcmimgle_INCLUDE_DIR-NOTFOUND
    DCMTK_dcmimgle_LIBRARY-NOTFOUND
    DCMTK_dcmnet_LIBRARY-NOTFOUND
    DCMTK_imagedb_LIBRARY-NOTFOUND
    DCMTK_ofstd_INCLUDE_DIR-NOTFOUND
    DCMTK_ofstd_LIBRARY-NOTFOUND

    FLTK_GL_LIBRARY-NOTFOUND       
    FLTK_INCLUDE_DIR-NOTFOUND
    FLTK_LIBRARY-NOTFOUND

    FOX_INCLUDE_DIR-NOTFOUND
    FOX_LIBRARY-NOTFOUND

    FREETYPE_INCLUDE_DIR_freetype2-NOTFOUND
    FREETYPE_INCLUDE_DIR_ft2build-NOTFOUND

    GDAL_INCLUDE_DIR-NOTFOUND
    GDAL_LIBRARY-NOTFOUND

    GLUT_glut_LIBRARY-NOTFOUND

    INVENTOR_INCLUDE_DIR-NOTFOUND
    INVENTOR_LIBRARY-NOTFOUND
    INVENTOR_LIBRARY_DEBUG-NOTFOUND

    ITK_DIR-NOTFOUND

    JASPER_INCLUDE_DIR-NOTFOUND
    JASPER_LIBRARY-NOTFOUND

    编译OpenSceneGraph.slu时都提示同一个错误:
    fatal error C1083: 无法打开源文件:“Files/OpenSceneGraph/lib/osgPlugins-2.7.5”: No such file or directory
    Atomic.cpp

    用相同的方法编译2.3.7我确实成功了。

    我试着去各个官方网站,找了很久,可是发现不同的第三方库都很不一样。我都不知道该下什么东西了。请问楼主,有没有统一的下载第三方库的方法呢?我想把缺失的第三方库下载下来。

    该用户从未签到

    发表于 2008-12-1 18:28:49 | 显示全部楼层
    这些库文件我都编译成功过,下载各个官方网站的最新工程就可以。我可能会选择圣诞前后重写有关依赖库支持的教程,以适应目前发展过于迅猛的OSG组成插件。在此之前,如果您不是急着要使用某个依赖库的话,烦请自行慢慢研究 ~~不编译也完全不会对使用有影响~~

    此外那个错误提示信息和这些插件无关。可能是您下载的源代码包有缺失,请下载2.7.6版本或者直接使用SVN编译,我试过没有问题。

    该用户从未签到

    发表于 2008-12-2 17:23:44 | 显示全部楼层

    编译OSG 2.7.6

    呵呵。居然是源代码包有缺失的原因造成的。我原来用的是直接在官网下载的.zip文件,今天直接用SVN把所有东西全部下下来。按照原来的方法编译就不再有那个问题了。

    Array说可以直接使用SVN编译,看来我得好好学学这个软件了。
    这个软件我才刚用。(因为以前都是直接用OSG的安装包),自己从来没编译过。

    该用户从未签到

    发表于 2008-12-2 17:50:07 | 显示全部楼层
    原帖由 hqfei10 于 2008-12-2 17:23 发表
    呵呵。居然是源代码包有缺失的原因造成的。我原来用的是直接在官网下载的.zip文件,今天直接用SVN把所有东西全部下下来。按照原来的方法编译就不再有那个问题了。

    Array说可以直接使用SVN编译,看来我得好好学学这 ...


    SVN是软件版本同步的重要工具,开源世界的利器。简单来说,就是我们大家通过网络共同对一个软件进行开发的时候,为了避免其中某个人更改和上传了旧版本的代码,而导致新版本的程序被覆盖和丢失——因此才产生了软件版本同步的问题,SVN仅仅是获取最新版本的软件的重要工具,而非编译工具,千万不要混淆~~~~

    该用户从未签到

    发表于 2008-12-2 18:06:10 | 显示全部楼层
    呵呵。刚才我在看SVN的帮助文档,上面说就是一个版本控制软件,我正奇怪呢。

    该用户从未签到

    发表于 2008-12-2 18:10:00 | 显示全部楼层
    “直接使用SVN编译”,应该说“直接使用SVN版本编译”,少写了两个字~~

    该用户从未签到

    发表于 2009-3-9 17:33:53 | 显示全部楼层
    图片都看不到了,麻烦发我邮箱一下好吗?mydevil_angel@163.com
    不胜感激!!

    该用户从未签到

    发表于 2009-3-24 10:26:48 | 显示全部楼层

    配置图片显示不出来呀

    配置图片显示不出来呀

    该用户从未签到

    发表于 2009-7-16 16:06:46 | 显示全部楼层
    图片重新连接下哦~

    该用户从未签到

    发表于 2009-8-23 01:03:24 | 显示全部楼层
    此时此刻正在研究中,谢谢FreeSouth的指导!不知道这方法在VS2008下 会不会成功!期待中......

    该用户从未签到

    发表于 2009-8-23 09:49:12 | 显示全部楼层
    19# wxjacess

    肯定没问题的哈。。编译很容易的呀~~~~我自己编译了 2.8.1 vs2008的 呵呵。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    OSG中国官方论坛-有您OSG在中国才更好

    网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

    联系我们

    • 工作时间:09:00--18:00
    • 反馈邮箱:1315785073@qq.com
    快速回复 返回顶部 返回列表