Dev C++ 下的OpenGL环境配置

为什么

鉴于不想装Visual Studio,于是想借助轻巧的Dev C++配置OpenGL的开发环境(能够在Visual Studio开发的还是在Visual Studio上开发吧,毕竟案例较多)。


怎么做

一、相关的库

1、OpenGL Library(核心库)
  • 包括115个函数,前缀:“gl”
  • 例:glColor3f()glTranslate3f()
  • 需要 gl.h,openGL32.lib,openGL32.dll
2、OpenGL utility library(实用程序库)
  • 包括43个函数,前缀:“glu"
  • 例:gluPerspective()
  • 需要 glu.h,glu.lib,glu.dll
3、辅助OpenGL编程的工具库
  • 如freeglut(free OpenGL Utility Toolkit)
  • 需要 glut.h,freeglut.h,freeglut32.lib,freeglut32.dll

freeglut功能

  • 执行与窗口相关的功能
  • 鼠标、键盘交互功能
  • 右键菜单功能
  • 高层的建模命令(如 glutSolidSphere(1.0)
4、Window interface library

与平台相关的窗口界面库

  • 前缀:“wgl","glx”,“pgl”,Agl…
  • 例:wgICreateContext(m_hDC)
头文件静态链接库动态链接库
OpenGL核心库gl.hopenGL32.libopenGL32.dll
OpenGL实用库glu.hglu32.libglu32.dll
OpenGL辅助库freeglutfreeglut.hfreeglut32.libfreeglut32.dll

这里给出网盘链接(访问码:ji19)

二、将三类文件拷贝到相应目录下

这里用的是32位版本

1、将所有的 *.h 文件(包括freeglut.hglut.hfreeglut_ext.hfreeglut_std.h)拷贝到Dev C++的安装目录的 x86_64-w64-mingw32\include\GL 目录下,如 D:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include\GL
在这里插入图片描述

2、将所有的 *.lib 文件(包括 freeglut.lib 等)拷贝到Dev C++的安装目录的 lib 目录下,如 D:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\lib32
在这里插入图片描述

3、将所有的 *.dll 文件(包括 freeglut.dll 等)拷贝到 C:Windows\SysWOW64 目录下。
在这里插入图片描述

如下图
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三、一些问题

1、编译器配置

连接时添加命令 -lglu32 -lopengl32 -lwinmm -lgdi32 -lfreeglut
在这里插入图片描述在这里插入图片描述

2、编译错误

类似于以下 skipping incompatible 错误是因为链接库文件时,库文件版本与平台版本不对应(在64位的机器上安装了32位的库或者在32位的机器上安装了64位的库),导致无法完成链接。也有可能是编译器配置的原因。

我的碰到的问题是:编译器选择的是64版,但是 xxx.axxx.lib 是32版,当然不兼容了

D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\Dev-Cpp\MinGW64\lib/libopengl32.a when searching for -lopengl32
D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\Dev-Cpp\MinGW64\lib\libopengl32.a when searching for -lopengl32
D:/Dev-Cpp/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.2/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:\Dev-Cpp\MinGW64\lib/freeglut.lib when searching for -lfreeglut
注意: 请使用同一目录下的文件,以免出现无法预料的错误

最终结果

经过以上步骤,编译运行例子程序后结果如下图
在这里插入图片描述在这里插入图片描述
在这里插入图片描述


参考链接

1、中国大学MOOC,北京林业大学杨刚教授 - 图形编程技术
2、CSDN博文,/usr/bin/ld: skipping incompatible解决方案
3、CSDN博文,devc++配置OpenGL


相关推荐

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值