您当前的位置: 首页 >  3d
  • 0浏览

    0关注

    483博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

3D进阶之OSG:编译osgQt的旧版本

高精度计算机视觉 发布时间:2022-04-05 20:07:55 ,浏览量:0

原来新版本osgQt的编译请移步到这里,

3D进阶之OSG: 编译osgQt_高精度计算机视觉的博客-CSDN博客osgQt是个简单的小项目,其实没有必要额外的编译,最核心的是个名为GraphicsWindowQt的类,只需要复制GraphicsWindowQt.h和GraphicsWindowQt.cpp到QT工程里面就可以使用了。同时osgQt给出了一个名为osgviewerQt的样例,也仅仅只是个cpp文件。结合两者,一个简单的示例就出来了。编译osgQt前面已经讲过了如何编译OSG,或者,直接下载OSG二进制可执行文件及库文件,得到这些文件后,我们就可以尝试着把Qt和OSG结合起来开发了,OSG官方https://blog.csdn.net/tanmx219/article/details/123947214今天收到信息,说是某些教程中用的osgQt是旧版本,没办法用新的版本来编译。于是我决定编译一下旧的osgQt版本。

https://github.com/mathieu/osgQt

首先到这里去把ostQt拉下来,为了区别原来的osgQt,我这里把文件夹命名为osgQtOld,后面采用同一规则。 

git clone https://github.com/mathieu/osgQt  osgQtOld

然后用cmake-gui配置一下,结果如下图所示,

 Configure + Generate之后,用VS2019打开编译就OK了。

碰到的问题

(1)cmake-gui报错:Could NOT find OpenSceneGraph: Found unsuitable version "..", but required

 这个主要是因为osg的路径设置错误引起的,那个OSG_INCLUDE_DIR要配置成 E:/vOSG/OpenSceneGraph/dev/include 这里才有版本信息,而不是源码下面那个地址, E:/vOSG/OpenSceneGraph/include (X,不是这个地址)

(2)cmake-gui报错:INCLUDE could not find requested file:    Find3rdPartyDependencies

不知道这是个什么东西,也没看到这么个头文件夹;估计是作者放第三方库头文件的位置;找到CMakeLists.tx中下面三行,直接注释掉,

# 3rd Party Dependency Stuff (下面三行注释掉)# IF(WIN32) #    INCLUDE(Find3rdPartyDependencies) # ENDIF()

(3)VS2019编译时报错:version WORDS separated by commas expected

添加后面的三行,如下,

#FIND_PACKAGE(OpenSceneGraph 3.5.5 REQUIRED osgDB osgGA osgUtil osgText osgViewer osgWidget) FIND_PACKAGE(OpenSceneGraph 3.6.0 REQUIRED osgDB osgGA osgUtil osgText osgViewer osgWidget) SET(OPENSCENEGRAPH_SOVERSION 145)

#added by TAN (添加下面三行)SET(OPENSCENEGRAPH_MAJOR_VERSION 3) SET(OPENSCENEGRAPH_MINOR_VERSION 5) SET(OPENSCENEGRAPH_PATCH_VERSION 6)

(4)release版本链接错误:

1>LINK : fatal error LNK1181: 无法打开输入文件“optimized.lib” 1>LINK : fatal error LNK1181: 无法打开输入文件“debug.lib”

直接找到release版本中的链接,删除掉optimized.lib和debug.lib。

这样,旧版本的osgQt就编译好了。

本文结束 

参考资料

osgQt配置过程_噜啦啦~~的博客-CSDN博客_osg配置qt

关注
打赏
1661664439
查看更多评论
立即登录/注册

微信扫码登录

0.0373s