Eclipse问题中的OpenGL / Freeglut - 包括未被发现?

时间:2014-09-18 19:09:23

标签: c++ eclipse windows opengl

我正在尝试在Windows上的Eclipse中配置OpenGL / Freeglut。我已经安装了MinGW作为我的工具链,并且Environment将MINGW_HOME映射到我的C:/ Drive(C:/ MingGW)上的正确顶级目录。我的项目列出了Project Explorer中的各种包含,包括与我的目的相关的包括C:/ MinGW / include。

C:/ MinGW / include / GL包含所有Freeglut头文件,详细说明了我想要按预期使用的函数。特别是,C:/MinGW/include/GL/glut.h绝对是预期的位置。我的简单测试代码如下:

#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;
}

尽管有包含行,但程序无法识别任何函数(glutInit和glutCreateWindow除外)。可能是什么导致了这个?我的配置中是否有一个错过的步骤?

请询问是否需要进一步的详细信息。

更新:情况有所改善。不知道如何链接到freeglut_std.h所需的库,因为其中的三个函数(在下面的注释中列出)抛出错误,但似乎没有明确使用。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我通过在#include标头之前加入#define GLUT_DISABLE_ATEXIT_HACK定义来解决问题!