我正在尝试在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所需的库,因为其中的三个函数(在下面的注释中列出)抛出错误,但似乎没有明确使用。有什么建议吗?
答案 0 :(得分:0)
我通过在#include标头之前加入#define GLUT_DISABLE_ATEXIT_HACK定义来解决问题!