查看: 3630|回复: 25

osgWorks 编译错误

[复制链接]

该用户从未签到

发表于 2012-7-23 18:56:19 | 显示全部楼层 |阅读模式
[ FindOpenSceneGraph.cmake:130 ] Failed to parse version number, please report this as a bug
CMake Error at C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/FindOpenSceneGraph.cmake:199 (message):
  ERROR: Version 2.6.1 or higher of the OSG is required.  Version ..  was
  found.
Call Stack (most recent call first):
  CMakeModules/FindOSGHelper.cmake:125 (find_package)
  CMakeLists.txt:41 (include)

请教各位CMake configure 出现上述错误,是怎么回事?

该用户从未签到

发表于 2012-7-24 07:53:51 | 显示全部楼层
ERROR: Version 2.6.1 or higher of the OSG is required.  Version ..  was
  found.

该用户从未签到

发表于 2012-7-24 09:00:09 | 显示全部楼层
二楼正解,看下编译需求版本

该用户从未签到

 楼主| 发表于 2012-7-24 10:34:09 | 显示全部楼层
tianxiao888 发表于 2012-7-24 09:00
二楼正解,看下编译需求版本

我的OSG是3.0.0版本,应该满足要求了

该用户从未签到

发表于 2012-7-25 09:49:37 | 显示全部楼层
但是osgWorks的自动搜索脚本没有找到您的osg位置,可以考虑设置OSG_ROOT环境变量,或者看一看osgWorks是如何搜索路径的

该用户从未签到

发表于 2013-4-1 20:56:50 | 显示全部楼层
到Ungrouped Entries下的OSGInstallType选择AlternateInstallLocation

该用户从未签到

发表于 2013-5-19 22:50:33 | 显示全部楼层
编译osgBullet出现的问题
1、在D盘根目录下建立文件夹osgWorks、osgBullet,放置解压好的文件,分别在osgWorks、osgBullet这两个文件夹里面新建文件夹bin(放置CMAKE_INSTALL_PROFIX)、build(放置生成文件)。
2、先编译osgWorks,把CMakeLists.txt拖进CMake里面,设置CMAKE_INSTALL_PROFIX的value为D:/osgWorks/bin,但是CMAKE_LINKER得Value设成什么样呢?不知道,只好先放着(默认为MAKE_LINKER-NOTFOUND),然后把OPENTHREADS_INCLUDE_DIR等等路径设好,如下:
D:/Program Files/OSG/OpenSceneGraph/bin/include/OpenThreads
D:/Program Files/OSG/OpenSceneGraph/bin/lib/OpenThreads.lib
D:/Program Files/OSG/OpenSceneGraph/bin/lib/OpenThreadsd.lib
D:/Program Files/OSG/OpenSceneGraph/bin/include/osgDB
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgDB.lib
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgDBd.lib
D:/Program Files/OSG/OpenSceneGraph/bin/include/osgGA
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgGA.lib
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgGAd.lib
D:/Program Files/OSG/OpenSceneGraph/bin/include/osgSim
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgSim.lib
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgSimd.lib
D:/Program Files/OSG/OpenSceneGraph/bin/include/osgText
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgText.lib
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgTextd.lib
D:/Program Files/OSG/OpenSceneGraph/bin/include/osgUtil
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgUtil.lib
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgUtild.lib
D:/Program Files/OSG/OpenSceneGraph/bin/include/osgViewer
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgViewer.lib
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgViewerd.lib
D:/Program Files/OSG/OpenSceneGraph/bin/include/osg
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osg.lib
D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgd.lib
然后configure,出现osg版本不可识别的错误,如下所示:
[ FindOpenSceneGraph.cmake:130 ] Failed to parse version number, please report this as a bug
Found osgGA: D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgGA.lib
Found osgText: D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgText.lib
Found osgViewer: D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgViewer.lib
Found osgSim: D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgSim.lib
Found osgDB: D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgDB.lib
Found osgUtil: D:/Program Files/OSG/OpenSceneGraph/bin/lib/osgUtil.lib
Found osg: D:/Program Files/OSG/OpenSceneGraph/bin/lib/osg.lib
Found OpenThreads: D:/Program Files/OSG/OpenSceneGraph/bin/lib/OpenThreads.lib
CMake Error at D:/Program Files (x86)/cmake-2.8.7-win32-x86/share/cmake-2.8/Modules/FindOpenSceneGraph.cmake:199 (message):
  ERROR: Version 2.6.1 or higher of the OSG is required.  Version ..  was
  found.
Call Stack (most recent call first):
  CMakeModules/FindOSGHelper.cmake:125 (find_package)
  CMakeLists.txt:41 (include)


Configuring incomplete, errors occurred!
不管它,继续generate,接着出现这样的错误:
[ FindOpenSceneGraph.cmake:130 ] Failed to parse version number, please report this as a bug
CMake Error at D:/Program Files (x86)/cmake-2.8.7-win32-x86/share/cmake-2.8/Modules/FindOpenSceneGraph.cmake:199 (message):
  ERROR: Version 2.6.1 or higher of the OSG is required.  Version ..  was
  found.
Call Stack (most recent call first):
  CMakeModules/FindOSGHelper.cmake:125 (find_package)
  CMakeLists.txt:41 (include)


Configuring incomplete, errors occurred!

so,现在我该怎么办呢???

该用户从未签到

发表于 2013-5-20 07:48:52 | 显示全部楼层
天行剑 发表于 2013-5-19 22:50
编译osgBullet出现的问题
1、在D盘根目录下建立文件夹osgWorks、osgBullet,放置解压好的文件,分别在osgW ...

svn 签出的 osgWorks 没有遇到过这样的问题

该用户从未签到

发表于 2013-5-20 08:50:50 | 显示全部楼层
liuzhiyu123 发表于 2013-5-20 07:48
svn 签出的 osgWorks 没有遇到过这样的问题

svn 签出的 osgWorks 如何下载呢?我在http://osgworks.googlecode.com/svn/tags/osgWorks_02_00_00/tests/里面找的只能一个一个文件打开,不知道这个有没有打包的?

该用户从未签到

发表于 2013-5-20 08:59:31 | 显示全部楼层
天行剑 发表于 2013-5-20 08:50
svn 签出的 osgWorks 如何下载呢?我在http://osgworks.googlecode.com/svn/tags/osgWorks_02_00_00/test ...

SVN 是一种工具 可以去网上找一些资料 学习一下 很简单 osgWorks 的源码 托管在googlecode 上了

该用户从未签到

发表于 2013-5-20 09:01:16 | 显示全部楼层
天行剑 发表于 2013-5-20 08:50
svn 签出的 osgWorks 如何下载呢?我在http://osgworks.googlecode.com/svn/tags/osgWorks_02_00_00/test ...

而且不适用svn签出的 osgWorks 在配置osgBullet 的时候 好像是有点问题 找不到一个生成的 cmake文件,svn签出的就没有这个问题

该用户从未签到

发表于 2013-5-20 12:24:53 | 显示全部楼层
liuzhiyu123 发表于 2013-5-20 09:01
而且不适用svn签出的 osgWorks 在配置osgBullet 的时候 好像是有点问题 找不到一个生成的 cmake文件,svn ...

好的 谢谢 我去试试看

该用户从未签到

发表于 2013-5-21 21:01:00 | 显示全部楼层
liuzhiyu123 发表于 2013-5-20 08:59
SVN 是一种工具 可以去网上找一些资料 学习一下 很简单 osgWorks 的源码 托管在googlecode 上了

试了一下SVN签出这个备份工具,解压osgWorks_02_00_00.zip后把文件夹命名为osgWorks,然后把osgWorks这个文件夹用svn签出,发现签出的和我解压后得到的osgWorks一摸一样的啊,用cmake2.8.7在vs2010平台上进行编译,还是出现同样的错误,代码如下图,搞不明白什么原因了……
123.jpg

该用户从未签到

发表于 2013-5-22 07:59:29 | 显示全部楼层
天行剑 发表于 2013-5-21 21:01
试了一下SVN签出这个备份工具,解压osgWorks_02_00_00.zip后把文件夹命名为osgWorks,然后把osgWorks这个 ...

svn 怎么可能签出 .zip格式的东西

该用户从未签到

发表于 2013-5-22 11:09:42 | 显示全部楼层
liuzhiyu123 发表于 2013-5-22 07:59
svn 怎么可能签出 .zip格式的东西

是我搞错了,在本机上用svn迁出一份osgworks,当然不行了呵呵……后来在服务器上checkout一份用,还是出现同样的问题

该用户从未签到

发表于 2013-5-22 12:49:36 | 显示全部楼层
都给你说了,
     [ FindOpenSceneGraph.cmake:130 ] Failed to parse version number, please report this as a bug
是CMAKE 出错了,需要报BUG了,你需要,换个版本再试!(也许那个版本有问题,你在试试高版本的吧)
   我现在用CMAKE 2.8.5, vs2010 编译通过

该用户从未签到

发表于 2013-5-22 21:13:08 | 显示全部楼层
VR_user_happy 发表于 2013-5-22 12:49
都给你说了,
     [ FindOpenSceneGraph.cmake:130 ] Failed to parse version number, please report th ...

又换了三个版本了,包括2.8.5,还是出现这个问题,于是进入cmake里面找到[ FindOpenSceneGraph.cmake:130 ] Failed to parse version number, please report this as a bug这个出现的地方了,可是还是看不明白,还请这位大哥指点指点啦
O(∩_∩)O~


    string(REGEX MATCH ".*#define OSG_VERSION_MAJOR[ \t]+[0-9]+.*"
        _osg_old_defines "${_osg_Version_contents}")
    string(REGEX MATCH ".*#define OPENSCENEGRAPH_MAJOR_VERSION[ \t]+[0-9]+.*"
        _osg_new_defines "${_osg_Version_contents}")
    if(_osg_old_defines)
        string(REGEX REPLACE ".*#define OSG_VERSION_MAJOR[ \t]+([0-9]+).*"
            "\\1" _osg_VERSION_MAJOR ${_osg_Version_contents})
        string(REGEX REPLACE ".*#define OSG_VERSION_MINOR[ \t]+([0-9]+).*"
            "\\1" _osg_VERSION_MINOR ${_osg_Version_contents})
        string(REGEX REPLACE ".*#define OSG_VERSION_PATCH[ \t]+([0-9]+).*"
            "\\1" _osg_VERSION_PATCH ${_osg_Version_contents})
    elseif(_osg_new_defines)
        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_MAJOR_VERSION[ \t]+([0-9]+).*"
            "\\1" _osg_VERSION_MAJOR ${_osg_Version_contents})
        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_MINOR_VERSION[ \t]+([0-9]+).*"
            "\\1" _osg_VERSION_MINOR ${_osg_Version_contents})
        string(REGEX REPLACE ".*#define OPENSCENEGRAPH_PATCH_VERSION[ \t]+([0-9]+).*"
            "\\1" _osg_VERSION_PATCH ${_osg_Version_contents})
    else()
        message("[ FindOpenSceneGraph.cmake{CMAKE_CURRENT_LIST_LINE} ] "
            "Failed to parse version number, please report this as a bug")
    endif()

该用户从未签到

发表于 2013-5-22 21:56:32 | 显示全部楼层
本帖最后由 VR_user_happy 于 2013-5-22 22:08 编辑

1.先要编译有Boost(osgWork1.jpg)
把头文件包含进来
我自己编译好后,自己定义Boost_1_53_0\include
其下面是\boost\在这个目录下包含了
*.h和包含有其它头文件的子目录如\accumulators\
2.
我是用打开路径文件的方式打开CMAKE.LIST的,不是拖进来的,系统就自动找到了(osgWork2.jpg)

OPenGL _gl_LIBARAY
OPenGL _glut LIBARAY
及OSG相关的路径,
3.你的OSG相关的INCLUDE路径不要指定到子文件夹下;
4.这个不知道是不是对BOOST有影响,但编译完成BOOST后3dPary下可能应该还要有图3(osgWork3.jpg)对应的BOOST的相关项,或是拷贝到对应的目录下

实际上只要配置一下1中的BOOST包含路径,其它的我都是默认就都OK了
osgWork3.jpg
osgWork2.jpg
osgWork1.jpg

该用户从未签到

发表于 2013-5-22 22:28:54 | 显示全部楼层
本帖最后由 VR_user_happy 于 2013-5-22 22:55 编辑

还有就是,你的OSG环境变量是不是有点问题?
看看原来的官方网站上的系统变量设置!!
怎没INCLUDE 和LIB 跑到BIN下了,是不是这个环境变量设置的问题所以CMAKE才找不到你的OSG系统

CMAKE.LIST 说的很清楚,怎么找你的OSG系统:

# Add OSG for entire project for include & lib paths
INCLUDE_DIRECTORIES(
    ${PROJECT_SOURCE_DIR}/include
    ${OSG_INCLUDE_DIRS}
)
osg_setPath1.jpg

该用户从未签到

发表于 2013-5-23 08:41:21 | 显示全部楼层
好像还是osg没有正确的找到

该用户从未签到

发表于 2013-5-24 01:08:47 | 显示全部楼层
VR_user_happy 发表于 2013-5-22 21:56
1.先要编译有Boost(osgWork1.jpg)
把头文件包含进来
我自己编译好后,自己定义Boost_1_53_0\include

请问这个boost是什么呢?一个程序包?哪里下载啊?怎么与cmake结合起来用呢?

该用户从未签到

发表于 2013-5-24 07:08:43 | 显示全部楼层
本帖最后由 VR_user_happy 于 2013-5-24 07:12 编辑

开源的C++库,
好多开源项目可能有用到它,它的作用与osgbullet需要OsgWorks一样,是基本支撑库,需要单独编译
网上入口:
http://www.boost.org/

该用户从未签到

发表于 2013-5-24 07:58:43 | 显示全部楼层
OpenSceneGraph 中提供的编译好的第三方库 有boost

该用户从未签到

发表于 2013-5-24 08:10:06 | 显示全部楼层
但是 Boost 不是osgWorks 的必须哭 wiki里面已经写的很清楚了
http://code.google.com/p/osgworks/wiki/BuildingOsgWorks

该用户从未签到

发表于 2013-5-25 20:33:14 | 显示全部楼层
VR_user_happy 发表于 2013-5-22 21:56
1.先要编译有Boost(osgWork1.jpg)
把头文件包含进来
我自己编译好后,自己定义Boost_1_53_0\include

对着你的方法终于编译成功了!“3.你的OSG相关的INCLUDE路径不要指定到子文件夹下;”,就是这个问题,太感谢你了!
O(∩_∩)O哈哈~

该用户从未签到

发表于 2013-5-25 20:34:20 | 显示全部楼层
liuzhiyu123 发表于 2013-5-24 08:10
但是 Boost 不是osgWorks 的必须哭 wiki里面已经写的很清楚了
http://code.google.com/p/osgworks/wiki/Bu ...

终于编译通过了,太感谢版主了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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