在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.8srcosgQtGraphicsWindowQt.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.8srcosgQtGraphicsWindowQt.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.8srcosgQtGraphicsWindowQt.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.8srcosgQtGraphicsWindowQt.cpp:15:
C:/OpenSceneGraph-3.1.8/include/osg/BufferObject:48:21: error: 'GLsizeiptr' has a previous declaration as 'typedef int GLsizeiptr'
看起来您正在使用不同版本的OpenGL 2和OSG构建QT-请参阅重建QT的链接:http://www.qtforum.org/article/39175/opengl-with-qt-5-0-1-and-glew.html