c - 在 Windows 上使用 GCC (MinGW) 编译 OpenGL

标签 c opengl gcc

我已经在谷歌上搜索过,但一直无法找到解决方案。

我想使用 GCC 编译一些 OpenGL 编程。在 GCC 的 GL 文件夹中,我有以下标题:

gl.h
glext.h
glu.h

然后在我的 system32 文件中,我有以下 .dll
opengl32.dll
glu32.dll
glut32.dll

如果我想编写一个简单的 OpenGL“Hello World”并使用 GCC 进行链接和编译,正确的过程是什么?

我正在尝试使用此代码:
#include <GL/gl.h>
#include <GL/glut.h>

void display() {
    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();
}
int main(int argc, char **argv) {
    glutInit(&argc, argv);
    glutInitWindowSize(512,512);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutCreateWindow("The glut hello world program");
    glutDisplayFunc(display);
    glClearColor(0.0, 0.0, 0.0, 1.0);
    glutMainLoop(); // Infinite event loop
    return 0;
 }

我使用的是 WindowsXP 和 GCC 版本 3.4.5。预先感谢您的帮助。

最佳答案

你可能想像这样运行 gcc:

gcc -g -Wall hello_gl.c -lopengl32 -lglu32 -lfreeglut

不幸的是,GLUT 没有预装在 Windows 上。

GLUT 是一个库,负责为您创建窗口和图形上下文的(特定于平台的)工作。许多 OpenGL 示例都使用它。

official GLUT port to Win32 is available here但它有点过时了。

我建议你使用兼容的 freeglut图书馆代替。您可以使用 this tutorial for setting up freeglut with Mingw32

关于c - 在 Windows 上使用 GCC (MinGW) 编译 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568067/

相关文章:

c - While 循环在 C 日历程序中无法正常工作?

opengl - 通过计算着色器在 OpenGL 中进行光线追踪

C:头文件和include问题。需要帮忙!

gcc - 在 GCC 中使用 pragma pack (pop,1)

c - 如何使用winsock或wininet下载文件

c - 我的程序被锁定了,似乎没有做它应该做的事情。我做错了什么?

c struct pointer Seg.fault when malloc()

cocoa - 让简单的 VBO 在 Mac 上运行时出现问题

c++ - 应用程序文件未在不同的 Mac 上运行

c - typedef 定长数组