使用 MinGW 编译含 glut 的 opengl 程序

默认 mingw 不包含 glut 相关的头文件。下面一步步进行添加。

(1) 下载 glut 库。

http://www.xmission.com/~nate/glut.html

(2) 将 glut.h 添加到 /path/to/mingw/inclu de/GL/ 目录下。

这里使用 mingw 自带的 libglut32.a,所以只需要添加头文件就可以了。

(3) 设定编译选项。

a 连接到需要的库文件

-lopengl32 -lglu32 -lglut32

b 修正 undefined reference 错误

错误提示为:
... ...
xxx: undefined reference to `__glutInitWithExit@12'
xxx: undefined reference to `__glutCreateWindowWithExit@8'
xxx: undefined reference to `__glutCreateMenuWithExit@8'
... ...
解决方法:


完整的编译命令如下:


gcc -o demo demo.c -D_STDCALL_SUPPORTED -D_M_IX86 /
-DGLUT_DISABLE_ATEXIT_HACK -lopengl32 -lglu32 -lglut32


命令太长,写成 Makefile 就可以方便很多了。

当然,你也可以在源代码中添加


#define
 _STDCALL_SUPPORTED 

#define  _M_IX86 

#define  GLUT_DISABLE_ATEXIT_HACK


可以看看编译出来的成果。

        
    
    
    
使用 MinGW 编译含 glut 的 opengl 程序_第1张图片
 

你可能感兴趣的:(使用 MinGW 编译含 glut 的 opengl 程序)