一般的OpenGL教程都没有用VS等开发环境,直接用glut.h中相关定义来实现窗口显示、事件绑定等操作。之前用配置了环境VIM编写C、C++等程序,直接写OpenGL程序编译运行等不能直接操作,还需一定的配置。MinGW官网也给出了解决方案,参照此结合其他资源给出了自己的解决方法,记录以供查阅。(cygwin应该也是类似的配置)
1、下载相应glut库,目前windows版本3.7beta,官网见此。
2、解压后得到如下文件,分别copy至mingw目录。
- *.lib(glut32.lib,glut.lib)—–>C:\MinGW\lib\(至你的MinGW安装目录lib下)
- glut.h—->C:\MinGW\include\GL\(没有的话,mkdir gl)
- *.dll(glut.dll,glut32.dll)—–>C:\windows\system32\(系统sysem32路径)
3、写个例子.
|
4、编译&运行.
直接通过默认的GCC编译参数通不过,报“undefined references”等错误,得加相关参数。GLUT_DISABLE_ATEXIT_HACK貌似说的是在glut编译时保证用一样的C run-time libraries (CRTs).
gcc t.cpp -D_STDCALL_SUPPORTED -DGLUT_DISABLE_ATEXIT_HACK -lopengl32 -lglu32 -lglut32 -o t.exe
运行t.exe即可。
可以配置到VIMRC文件中,map到键盘就方便了,跟一般的C++/C程序区分下,另外加个编译的映射,比如ctrl+alt+F5,运行还是不变。
func CompileOpenGLRun() |
现在就是ctrl+alt+f5编译,f9运行即可。如果你还不行,试着在文件开始 include <windows.h>,define 一些常量等,详细情况可以参考后面的参考文章。
参考文章:
1、HOWTO Use Mark J. Kilgard’s OpenGL Utility Toolkit (GLUT) with MinGW