1

在 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'
4

1 回答 1

1

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

于 2013-07-11T13:20:22.703 回答