Code::Blocks搭建OpenGL编程环境(着色器)
2015-09-17 10:32
253 查看
这里说的环境是在Windows中主要是基于使用Shader。
写的比较随意了,之所以写这个,是因为在搭建环境时,遇到了一些问题,而且当时没有很容易的找到解决方案。
我使用的是Code::Blocks13.12自带MinGW的版本,也可以使用Cygwin gcc用作编译器。
首先先创建一个新工程,可以选择适用GLUT project,亦可以选择使用OpenGL project。记住如果是GLUT project会要求选择GLUT的位置,我是如下图所示:
项目创建成功后,会自动出现一个事例程序,直接运行这个事例程序不一定会成功,解决方法从其他地方也能找到,而下面也会利用这些方法,所以这里先不详说。
下面说一些问题:
在使用glew.h时可能会提示外部符号链接的问题
我使用的方法是,在include之前定义
#define GLEW_STATIC
#include<GL/glew.h>
也就是静态链接
然后在link libraries添加
glew32s.lib(所在路径)
如果还存在外部符号问题
link libraries添加
opengl32
glut32
而在使用glut32时,也可能抱错
这里采取的方法是
#define GLUT_DISABLE_ATEXIT_HACK
#include<gl/freeglut.h>
还有就是在主程序中glew的初始化要在glut初始化之后。
通过上面的方法应该就可以在code::block上使用着色器进行OpenGL的编程了。
写的比较随意了,之所以写这个,是因为在搭建环境时,遇到了一些问题,而且当时没有很容易的找到解决方案。
我使用的是Code::Blocks13.12自带MinGW的版本,也可以使用Cygwin gcc用作编译器。
首先先创建一个新工程,可以选择适用GLUT project,亦可以选择使用OpenGL project。记住如果是GLUT project会要求选择GLUT的位置,我是如下图所示:
项目创建成功后,会自动出现一个事例程序,直接运行这个事例程序不一定会成功,解决方法从其他地方也能找到,而下面也会利用这些方法,所以这里先不详说。
下面说一些问题:
在使用glew.h时可能会提示外部符号链接的问题
我使用的方法是,在include之前定义
#define GLEW_STATIC
#include<GL/glew.h>
也就是静态链接
然后在link libraries添加
glew32s.lib(所在路径)
如果还存在外部符号问题
link libraries添加
opengl32
glut32
而在使用glut32时,也可能抱错
这里采取的方法是
#define GLUT_DISABLE_ATEXIT_HACK
#include<gl/freeglut.h>
还有就是在主程序中glew的初始化要在glut初始化之后。
通过上面的方法应该就可以在code::block上使用着色器进行OpenGL的编程了。
相关文章推荐
- eclipse编译问题
- C语言算法小练习-7
- php快速处理数组每个元素
- PHP中将字符串转化为整数(int) intval() printf() 性能测试
- test3.4
- python上的并发
- 分享Matlab相位声码器
- Spring中GetTemplate使用中,事务控制没有在Session的生命周期内起作用,而是中途提交了事务
- Java synchronized详解
- C++学习之const指针和多维数组
- poi解析Excel0307格式通用 struts2
- C语言算法小练习-6
- Java中的常量、静态域与静态方法
- Ubuntu配置jdk
- C++Primer Plus 第十章-this指针
- Java 注释技巧
- JAVA设计模式 -- 组合模式
- PHP教程实例:adodb配置与使用
- 在MAC上查找和设置$JAVA_HOME
- [python] 0x7 Python Tutorial: Web Scanning and Exploitation