使用Qt 5.0.2编译Openscenegraph 3.1.8

时间:2013-07-05 09:10:58

标签: qt opengl qt5 openscenegraph

在Windows 7(基本版)上使用cmake 2.8.11进行配置后,我正在尝试使用mingw-32编译器使用Qt 5.0.2编译openscenegraph-3.1.8。

但是,在编译过程中我遇到了以下错误: -

In file included from C:/Qt/Qt5.0.2/5.0.2/mingw47_32/include/QtGui/qopengl.h:55:0,
                 from C:/Qt/Qt5.0.2/5.0.2/mingw47_32/include/QtOpenGL/qgl.h:47,
                 from C:/Qt/Qt5.0.2/5.0.2/mingw47_32/include/QtOpenGL/QGLWidget:1,
                 from C:/OpenSceneGraph-3.1.8/include/osgQt/GraphicsWindowQt:24,
                 from C:\OpenSceneGraph-3.1.8\src\osgQt\GraphicsWindowQt.cpp:15:
C:/Qt/Qt5.0.2/5.0.2/mingw47_32/include/GLES2/gl2.h:38:26: error: conflicting declaration 'typedef khronos_intptr_t GLintptr'
In file included from C:/OpenSceneGraph-3.1.8/include/osg/Array:34:0,
                 from C:/OpenSceneGraph-3.1.8/include/osg/Uniform:23,
                 from C:/OpenSceneGraph-3.1.8/include/osg/StateSet:20,
                 from C:/OpenSceneGraph-3.1.8/include/osg/State:18,
                 from C:/OpenSceneGraph-3.1.8/include/osg/GraphicsContext:17,
                 from C:/OpenSceneGraph-3.1.8/include/osgViewer/GraphicsWindow:17,
                 from C:/OpenSceneGraph-3.1.8/include/osgQt/GraphicsWindowQt:17,
                 from C:\OpenSceneGraph-3.1.8\src\osgQt\GraphicsWindowQt.cpp:15:
C:/OpenSceneGraph-3.1.8/include/osg/BufferObject:47:21: error: 'GLintptr' has a previous declaration as 'typedef int GLintptr'
In file included from C:/Qt/Qt5.0.2/5.0.2/mingw47_32/include/QtGui/qopengl.h:55:0,
                 from C:/Qt/Qt5.0.2/5.0.2/mingw47_32/include/QtOpenGL/qgl.h:47,
                 from C:/Qt/Qt5.0.2/5.0.2/mingw47_32/include/QtOpenGL/QGLWidget:1,
                 from C:/OpenSceneGraph-3.1.8/include/osgQt/GraphicsWindowQt:24,
                 from C:\OpenSceneGraph-3.1.8\src\osgQt\GraphicsWindowQt.cpp:15:
C:/Qt/Qt5.0.2/5.0.2/mingw47_32/include/GLES2/gl2.h:39:26: error: conflicting declaration 'typedef khronos_ssize_t GLsizeiptr'
In file included from C:/OpenSceneGraph-3.1.8/include/osg/Array:34:0,
                 from C:/OpenSceneGraph-3.1.8/include/osg/Uniform:23,
                 from C:/OpenSceneGraph-3.1.8/include/osg/StateSet:20,
                 from C:/OpenSceneGraph-3.1.8/include/osg/State:18,  
                 from C:/OpenSceneGraph-3.1.8/include/osg/GraphicsContext:17,
                 from C:/OpenSceneGraph-3.1.8/include/osgViewer/GraphicsWindow:17,
                 from C:/OpenSceneGraph-3.1.8/include/osgQt/GraphicsWindowQt:17,
                 from C:\OpenSceneGraph-3.1.8\src\osgQt\GraphicsWindowQt.cpp:15:
C:/OpenSceneGraph-3.1.8/include/osg/BufferObject:48:21: error: 'GLsizeiptr' has a previous declaration as 'typedef int GLsizeiptr'

1 个答案:

答案 0 :(得分:1)

看起来您正在使用不同版本针对OpenGL 2和OSG构建QT - 请参阅重建QT的链接: http://www.qtforum.org/article/39175/opengl-with-qt-5-0-1-and-glew.html