2014-09-18 12 views
0

Windows에서 Eclipse에서 OpenGL/Freeglut을 구성하려고합니다. MinGW를 툴체인으로 설치했으며, 환경은 MINGW_HOME을 C :/Drive (C :/MingGW)의 올바른 최상위 디렉토리에 매핑합니다. 내 프로젝트는 C :/MinGW/include와 관련된 여러 가지 포함 사항을 프로젝트 탐색기에 나열합니다.Eclipse에서 OpenGL/Freeglut 문제 - 찾을 수 없다는 것을 포함합니까?

C :/MinGW/include/GL에는 예상대로 사용하려는 모든 기능을 자세히 설명하는 Freeglut 헤더 파일이 있습니다. 특히 C : /MinGW/include/GL/glut.h는 분명히 기대되는 곳입니다. 내 간단한 테스트 코드는 다음과 같습니다 : (glutInit의 및 glutCreateWindow 제외) 기능의

#include <windows.h> // For MS Windows 
#include <GL/glut.h> 

void display() { 
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Set background color to black and opaque 
glClear(GL_COLOR_BUFFER_BIT);   // Clear the color buffer 

// Draw a Red 1x1 Square centered at origin 
glBegin(GL_QUADS);    // Each set of 4 vertices form a quad 
    glColor3f(1.0f, 0.0f, 0.0f); // Red 
    glVertex2f(-0.5f, -0.5f); // x, y 
    glVertex2f(0.5f, -0.5f); 
    glVertex2f(0.5f, 0.5f); 
    glVertex2f(-0.5f, 0.5f); 
glEnd(); 

glFlush(); // Render now 
} 

int main(int argc, char** argv) { 
    glutInit(&argc, argv);     // Initialize GLUT 
    glutCreateWindow("OpenGL Setup Test"); // Create a window with the given title 
    glutInitWindowSize(320, 320); // Set the window's initial width & height 
    glutInitWindowPosition(50, 50); // Position the window's initial top-left corner 
    glutDisplayFunc(display); // Register display callback handler for window re-paint 
    glutMainLoop();   // Enter the infinitely event-processing loop 
    return 0; 
} 

없음은 선을 포함에도 불구하고, 프로그램에 의해 인식되지 않습니다. 이 문제의 원인은 무엇일까요? 구성에서 놓친 단계가 있습니까?

추가 세부 정보가 필요한지 물어보십시오.

업데이트 : 상황이 개선되었습니다. freeglut_std.h가 필요로하는 라이브러리에 링크하는 방법을 모르는 경우 (아래 주석에 나열된) 세 가지 함수가 오류를 던지고 있지만 명시 적으로 사용되지는 않습니다. 어떤 충고?

+0
+0

도 도움이 될 것입니다. 그러나, 아직 사용하지 않는 외부 라이브러리 (freeglut_std.h)에서 발생하는 3 개의 정의되지 않은 참조가 있습니다. 나는 그것에 연결하려했지만, 지금까지는 운이 없다. 오류는 다음과 관련이 있습니다 : freeglut_std.h | 620 | '정의되지 않은 참조 _imp ____ glutInitWithExit @ 12'| freeglut_std.h | 622 | '_imp ____ glutCreateWindowWithExit @ 8'에 대한 정의되지 않은 참조 | freeglut_std.h | 624 | '_imp ____ glutCreateMenuWithExit @ 8'에 대한 정의되지 않은 참조 | –

+0

http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/에 따르면 대신 를 포함해야합니다. 내가 정확히 기억한다면 freeglut.h는 glut.h를 포함하고 다른 것들도한다. – user3256930

답변

0

#include 헤더 앞에 #define GLUT_DISABLE_ATEXIT_HACK 정의를 포함시켜 문제를 해결했습니다!