프로그래밍 관련/3D,2D DRAW 관련

OpenGL 중 glew.h 를 include하면 에러가 나는데 어떻게 해결해야 할까요?

AlrepondTech 2017. 5. 17. 02:12
반응형

 

 

 



=======================

=======================

=======================

 

 

 

 

 

 

 

출처: http://www.korone.net/bbs/board.php?bo_table=qt_qna&wr_id=22918

 

 

#include <GL/glew.h>
#include <QGLFunctions>
#include <QGLWidget>


class QW_3DViewer : public QGLWidget, protected QGLFunctions
{
    Q_OBJECT
public:
    explicit QW_3DViewer(QWidget *parent = 0);

    void initializeGL();
    void paintGL();
    void resizeGL(int w, int h);
   ...
   ...
}

Qt5 에서 opengl을 이용하여 작업을 하고 있는데요

#include <GL/glew.h> 의 함수를 쓸려고 코드처럼 include를 했는데요

/usr/include/GL/glew.h:84: error: #error gl.h included before glew.h
/usr/include/GL/glew.h:96: error: #error glext.h included before glew.h
/usr/include/GL/glew.h:262: error: expected constructor, destructor, or type conversion before 'extern'

이런 에러가 뜨고 있습니다.
검색해서 막 찾아보고 해봤는데 에러가 없어지지 않더라구요

glew.h 의 함수 glewInit() 를 비롯해 여러가지 사용할게 있는데 include를 함으로써 계속 에러가 나고 있는데요
어떻게 해야 하나요? 

에러 내용처럼 
#include <GL/gl.h>
#include <GL/glext.h> 를 앞뒤로 넣어서 해봤는데 소용 없더라구요;;

 

-------------------------

 

데보피… 15-06-08 21:05
 
이미 해결되었으리라 보며, 
한 마디 거들자면, 
될 수 있는 한 include는 (헤더말고) 소스내에서 하는 것이 여러가지로 유리합니다. 
중복이나 순환 참조를 막을 수 있을 뿐 아니라 컴파일 타임도 상당 부분 줄어 듭니다. 
특별히 헤더파일에서 선언이 필요 없다면 참조형으로 전방선언만 하시고 
소스에서 include하시기 바랍니다. 
통상 저런식 오류는 순환참조 때문에 발생하기도 합니다. 
참고만 하세요.
 

     
   
 
태백 15-06-09 21:20
 
헤더가 꼬이긴꼬였더라구요... 

include한것을 다 확인해서 해결했습니다;;



=======================

=======================

=======================

 

 

반응형