在CodeBlocks中使用openGL
来源:互联网 发布:mac的usb接口没反应 编辑:程序博客网 时间:2024/06/05 17:37
(原文找不到了,只有某个转载该篇文章的博客链接: http://lcx543576178.blog.163.com/blog/static/235146085201410402924520/)
使用VS来配置OpenGL当然很快也很顺利,但是本人更喜欢用轻量级的CodeBlock写小程序,而本人还是个CodeBlock新手,搞了很久才搞定·········
在CodeBlock中原本就已经自带了部分的OpenGL头文件和.a库文件,但是不全面,缺少glut。所以我就下载了别人凑好的“较全面版本”来使用。配置步骤如下:
(1)将OpenGL解压到一个文件夹,这时文件夹内一般都会有一个存放着头文件的include文件夹和一个存放着lib文件的lib文件夹,又或者直接就是头文件和lib文件混在一个文件夹内。
(2)在CodeBlock中打开点击 Settings->Global Variables 打开一个对话框,单击第二行的new,输入你喜欢的变量名,我的是opengl,按确定,然后在左边base一栏填入OpenGL所在的目录,我的是 D:\MyWorkSpace\OpenGL_SDK ,在include一栏和lib一栏按如下填写。总之就是提供头文件和lib文件的所在目录,要是所有文件都混在一起,那么三个路径可以一样。最后单击 close 。
(3)如果只想让一个项目能检测到OpenGL的目录,那么就在已存在的项目基础上单击 Project->Build Option;如果想让所有项目都能检测到OpenGL目录,那么就单击 Settings->Complier。然后转到 Search Directories 选项卡,在下面的 Complier选项卡中点Add增加一栏相对路径为 $(#OpenGL)\include ,转到旁边的Linker选项卡增加一栏 $(#OpenGL)\lib 。再转到上面的 Linker Settings 选项卡,按下面的Add添加OpenGL目录中的所有lib(可能文件数量跟我的会有出入,无碍),之后弹出的对话框按“OK”或“NO”都可以。最后按OK。
(4)编译,连接。这时候,如果不出现问题的话,恭喜你,配置完成。但是,也许一些人像我一样苦逼地遇上问题了,编译报错,大概是:
某文件 undefined reference to '__某OpenGL函数名'
这种格式的错误信息一般是lib文件链接不成功而引起的,所以起初我还以为MinGW编译器不可以使用lib,而只能使用 a 文件,所以我又找到了MinGW的实用程序打算将lib转换为a文件,可是偏偏不成功,生成了dll。在我舍友的机子上更奇怪,生成的是obj。网上的大神们似乎都没遇到这种情况,所以我很久都没找到解决办法,于是我决定抛弃这种方法。找了好久终于找到两篇文章说到“undefined reference”这个问题:
http://www.mingw.org/wiki/HOWTO_Use_Mark_J_Kilgards_OpenGL_Utility_Toolkit_GLUT_with_MinGW
http://blog.csdn.net/huys03/article/details/2260949
我的在包含OpenGL的include预编译指令前增加 #define _STDCALL_SUPPORTED 就成功了,也许别人的还不行,为了保险,你可以写上:
[cpp] view plaincopy
- #define _STDCALL_SUPPORTED
- #define _M_IX86
- #define GLUT_DISABLE_ATEXIT_HACK
记住一定要放在包含OpenGL的头文件代码之前才起作用。这时编译一般都能成功了,但可能还会有警告,你可以在刚才位置加入以下代码来去除警告:
[cpp] view plaincopy
- #define GLUT_NO_WARNING_DISABLE
0 0
- 在CodeBlocks中使用openGL
- Ubuntu 下使用OpenGL/GLUT的配置以及在Codeblocks中使用GLUT
- ResEd在CodeBlocks中使用。
- codeblocks中配置opengl
- Codeblocks中配置OpenGL
- CodeBlocks中使用winpcap
- codeblocks 使用学习中。
- codeblocks 中使用opencv
- 在OPENGL中使用光照
- 在JAVA中使用OpenGL?!
- 在wxPython中使用OpenGL
- 在SDL中使用OpenGL
- 在VC中使用OpenGL
- 在OpenGL中使用GLSL
- 在Qt4中使用OpenGL
- 在Win32中使用OpenGL
- 在 Android 中使用 OpenGL
- ubuntu中 codeblocks 下opengl的配置
- java递归简单实例
- 3.1 Connect系统调用
- (document).height()、$(document).scrollTop()
- 2015-3-16_Easy Explore插件:在Flash Builder里快速打开文件所在的目录
- MouseMotionAdapter接口
- 在CodeBlocks中使用openGL
- 总结之C/C++
- uva11627
- ZFJ002(实现上下同步)
- RethinkDB创始人教你如何找到创业点子
- sqlite3数据存储
- 《天天赛车》游戏介绍
- 老程序员的下场
- 【C/C++学院】(28)项目实战HttpServer--源码