查看: 7626|回复: 15

qt5.1.1和osg3.2编译的问题!

[复制链接]

该用户从未签到

发表于 2013-9-17 13:02:32 | 显示全部楼层 |阅读模式
本帖最后由 yanhe524 于 2013-9-17 13:10 编辑

今天下了最新的qt5.1.1的sdk和osg3.2来编译,但是一直编译不出来osgqt,报错是找不到qglwidget和qapplication等,原来我也编译过老版本的osgqt,确信是由于qt5的一部分目录包括文件有更改,所以不知道如何改,还请大家指导一下,array在的话更好帮看看,我看报错的osgqt工程中的文件是您写的。
顺便问一下Qt 5.1.1 for Windows 64-bit (VS 2012, 525 MB) (Info)
Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL, 522 MB) (Info)两者有什么区别?
我用的是下面一个版本

该用户从未签到

发表于 2013-12-13 10:12:47 | 显示全部楼层
楼上的这种修改方法之前已经有人提交到核心库了,不过已经被拒绝。因为没有必要为Qt的愚蠢做出这么多的牺牲

该用户从未签到

发表于 2013-9-17 13:22:58 | 显示全部楼层
是不是没修改Qt的路径。

该用户从未签到

发表于 2013-9-17 13:44:58 | 显示全部楼层
看看CMake 中的查找结果

该用户从未签到

 楼主| 发表于 2013-9-19 21:58:50 | 显示全部楼层
本帖最后由 yanhe524 于 2013-9-19 22:00 编辑

我重新cmake了一下,在osgqt的makelist文件里报错,在最后的这一段里,“qt5_use_modules错误”,确实没有qt5widgets这个文件和文件夹,确实比较崩溃,大家看看如何改?
IF ( Qt5Widgets_FOUND )
    qt5_use_modules( ${LIB_NAME} Widgets OpenGL )
ENDIF ( Qt5Widgets_FOUND )

有人编译成功没?冒个泡啊!

该用户从未签到

发表于 2013-9-20 21:47:40 | 显示全部楼层
楼主有以前编译好的osgQT库吗?能不能给我发一下,我目前正需要,但总是编译不出来,总出错!谢了先。

该用户从未签到

 楼主| 发表于 2013-9-21 20:26:42 | 显示全部楼层
tosandf 发表于 2013-9-20 21:47
楼主有以前编译好的osgQT库吗?能不能给我发一下,我目前正需要,但总是编译不出来,总出错!谢了先。

我的是用3.01和qt4.8编出来的32位的,不知你能用不?

该用户从未签到

发表于 2013-9-21 21:35:17 | 显示全部楼层
能用,我就是用qt4.8,正需要32位,多谢楼主相助。烦请将库文件打包发我邮箱,我的邮箱:tosandf@163.com,非常感谢!

该用户从未签到

发表于 2013-9-22 09:15:29 | 显示全部楼层
CMake中 应该不存在这样需要改动的问题吧

该用户从未签到

 楼主| 发表于 2013-9-22 10:30:28 | 显示全部楼层
cmake 里报错是command error “qt5_use_modules”,不知道如何改,哪位大神给看一下啊

该用户从未签到

发表于 2013-9-23 22:57:08 | 显示全部楼层
yanhe524楼主,不知能否把你编译好的osgQT库发我一份,不胜感谢!

该用户从未签到

发表于 2013-9-23 23:00:13 | 显示全部楼层
另外,我在编译时出现如下错误,请问yanhe524你是如何解决的,多谢了!
error LNK2019: 无法解析的外部符号 "__declspec(dllimport) const osgQt::GLWidget::`vftable'{for `QPaintDevice'}" (__imp_??_7GLWidget@osgQt@@6BQPaintDevice@@@),

该用户从未签到

发表于 2013-9-25 14:13:34 | 显示全部楼层
其他问题应该是您自己的问题请仔细排查,我只解释这个:
  1. Qt 5.1.1 for Windows 64-bit (VS 2012, 525 MB) (Info)
  2. Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL, 522 MB) (Info)
复制代码
前者是Qt5自作主张基于GLES编译的版本,和osg没法共用;后者是Qt5应大家强烈要求重新放出的基于OpenGL编译的版本,可以用于osgQt(但是因为Qt5的一个很愚蠢的新特性,无法再使用多线程的方式,只能SingleThreaded)

该用户从未签到

发表于 2013-12-7 20:41:53 | 显示全部楼层
array 发表于 2013-9-25 14:13
其他问题应该是您自己的问题请仔细排查,我只解释这个:前者是Qt5自作主张基于GLES编译的版本,和osg没法共 ...

只要稍做修改osg 的代码就可以让它支持qt5的多线程了(前提是OpenThreads 编译时使用的QThread), 具体的代码可以参考:

https://github.com/pangwa/osg/co ... ca188a32f46b1141c68

该用户从未签到

发表于 2014-3-1 15:23:21 | 显示全部楼层
array 发表于 2013-12-13 10:12
楼上的这种修改方法之前已经有人提交到核心库了,不过已经被拒绝。因为没有必要为Qt的愚蠢做出这么多的牺牲 ...

想点支持的,结果电脑卡了。。。

该用户从未签到

发表于 2014-3-1 15:24:58 | 显示全部楼层
array的14楼:
楼上的这种修改方法之前已经有人提交到核心库了,不过已经被拒绝。因为没有必要为Qt的愚蠢做出这么多的牺牲 ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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