关闭

VS2013+GLFW+GLEW 配置OpenGL开发环境

标签: visual studioVS2013GLFWGLEW
3199人阅读 评论(6) 收藏 举报
分类:

转载:http://blog.csdn.net/u011926277/article/details/50912638


        最近发现了一个非常好的学习OpenGL基础的网站,点击打开链接。由于当中配置环境部分说得不是很详细,经过许多天的挣扎后,终于成功地配置出了开发环境,特此记录。

1. 下载glfw。网址为:点击打开链接。由于还得翻墙,所以使用的github下载的。

2. 下载cMake。网址为:点击打开链接。下载的版本为本网站作者使用的版本,即win32 Installer。

3. 下载glew。网址为:点击打开链接。下载的zip包,因为此处使用的方法是用本机编译。


1>工具准备完毕后,在某一目录建立一个文件夹用于放置源代码和库,本机建立了OpenGL文件夹,其下又建立有include和libs文件夹,分别用于放置源代码和库,截图如下。



2> 由于glew不用使用cMake,所以先编译glew以获得所需的库。

a. 解压glew的压缩包,进入build目录,用对应版本的VS打开对应的项目(选择vs12目录下的工程),本机用VS2013。

b. 用VS2013或者更高版本打开glew.sln,编译此项目(右键->生成解决方案)。

c. 依次打开glew-2.0.0\lib\Debug\Win32,此文件夹下有glew32sd.lib,将其拷贝到OpenGL/libs文件夹下

d. 将glew-2.0.0\include文件夹下的GL文件夹整体拷贝到OpenGL/include文件夹下


3> 准备glfw的库,下面使用cMake工具首先生成项目,然后编译,流程如下。

a. 安装好cMake以后,打开CMake (cmake-gui),点击Browse Source将目录设定到glfw目录。

b. 点击Browse Build,将目录设定到glfw/build文件夹。(此处的build文件夹需自己创建)如下。


c. 点击左下角Configure,选择目标平台,由于本机为vs2013,所以选择Visio Studio 12 2013,点击确定。

d. 然后再次点击Configure,在点击Generate生成项目,选择状态如下。

e. 关闭cMake,刚才建立的build目录下已经生成了glfw的项目,用vs2013打开后,编译,成功后生成glfw3.lib。

f.  build\src\Debug目录下有刚才编译项目生成的glfw3.lib库,将此库拷贝到OpenGL/libs目录下

g. 将glfw-master\include下的GLFW文件夹拷贝到OpenGL/include文件夹下

h. 最后生成的OpenGL文件夹下的文件如下:





4> 到这一步基本环境就配置完成了,下一步就是在新建的空项目中将库和源代码链接,并手动导入一些库。具体流程如下。

a. 新建空项目。(c++项目)

b. 右击项目->属性->配置属性->vc++目录->包含目录,添加路径到OpenGL/include。

c. 右击项目->属性->配置属性->vc++目录->库目录,添加路径到OpenGL/libs,截图如下。

 

d. 右击项目->属性->配置属性->链接器->输入->附加依赖项,在其中添加

opengl32.Lib

glfw3.lib

glew32sd.lib

,截图如下。


e. 依次将配置保存后,即可在main类中输入代码,进行测试,如果未报错,即环境配置成功,测试代码可以从开头的网站上或者,或者复制下面的代码进行测试。

#include <iostream>  

// GLEW  
#define GLEW_STATIC  
#include <GL/glew.h>  

// GLFW  
#include <GLFW/glfw3.h>  


// Function prototypes  
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode);

// Window dimensions  
const GLuint WIDTH = 800, HEIGHT = 600;

// The MAIN function, from here we start the application and run the game loop  
int main()
{
	std::cout << "Starting GLFW context, OpenGL 3.3" << std::endl;
	// Init GLFW  
	glfwInit();
	// Set all the required options for GLFW  
	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
	glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
	glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);

	// Create a GLFWwindow object that we can use for GLFW's functions  
	GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "LearnOpenGL", nullptr, nullptr);
	if (window == nullptr)
	{
		std::cout << "Failed to create GLFW window" << std::endl;
		glfwTerminate();
		return -1;
	}
	glfwMakeContextCurrent(window);
	// Set the required callback functions  
	glfwSetKeyCallback(window, key_callback);

	// Set this to true so GLEW knows to use a modern approach to retrieving function pointers and extensions  
	glewExperimental = GL_TRUE;
	// Initialize GLEW to setup the OpenGL Function pointers  
	if (glewInit() != GLEW_OK)
	{
		std::cout << "Failed to initialize GLEW" << std::endl;
		return -1;
	}

	// Define the viewport dimensions  
	glViewport(0, 0, WIDTH, HEIGHT);

	// Game loop  
	while (!glfwWindowShouldClose(window))
	{
		// Check if any events have been activiated (key pressed, mouse moved etc.) and call corresponding response functions  
		glfwPollEvents();

		// Render  
		// Clear the colorbuffer  
		glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
		glClear(GL_COLOR_BUFFER_BIT);

		// Swap the screen buffers  
		glfwSwapBuffers(window);
	}

	// Terminate GLFW, clearing any resources allocated by GLFW.  
	glfwTerminate();
	return 0;
}

// Is called whenever a key is pressed/released via GLFW  
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
{
	std::cout << key << std::endl;
	if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
		glfwSetWindowShouldClose(window, GL_TRUE);
}

 cop

f. 编译运行后,出现如下窗口即代表环境配置成功。



到这一步,环境配置就结束了。


再次感谢大神的分享,环境总算是配好了!!!


4
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

openGL编程-环境配置(glfw;glew;glm相关 )

踩坑预警: 发现一个很不错的OpenGL教程,可惜源码跑不起来,原教程也没有相关环境配置(主要是glfw,glew,glm这三个库的使用)的说明,所以尝试去搜一下如何在vs 2013中使用这三个库搭配教程的食用。 OpenGL教程 引用博主zdd的说法: 使用一个库包含三个步骤: 1.包含所需头文件...
  • github_37020016
  • github_37020016
  • 2016-12-13 02:29
  • 1001

配置GLEW+GLFW并使用Xcode写OpenGL应用

在Xcode中配置GLEW+GLFW环境 2016年10月28日 CONTENTS 闲话正题 闲话 因为这几天一直在忙着图形学的实验,发现真的是很蛋疼,因为课程还在使用glut等openGL1.x版本的固定管线API,但是我感觉这和我们计算机行业追求新技术的宗旨完全...
  • LongZh_CN
  • LongZh_CN
  • 2017-02-12 14:41
  • 2983

windows和ubuntu安装opengl:glfw+glew+glm

我ubuntu装opengl折腾了很久,觉得还是windows好弄啊,一会儿就搞定了。 先讲windows,我用的是vs2015,其实感觉不同版本的vs配置起来也没啥差。先分别去官网下载glfw,glew和glm。 glfw和glew都可以下载他们编译好的windows binary包,注意即使...
  • lovelylightningbug
  • lovelylightningbug
  • 2016-06-14 12:58
  • 2352

glew,glfw实现opengl代码

  • 2016-09-11 12:50
  • 20.35MB
  • 下载

OpenGL之GLEW安装

下载链接: https://sourceforge.net/project/downloading.php?group_id=67586&filename=glew-1.5.1-win32.zip 点击上面的链接下载最新的GLEW(支持OpenGL 3.0),解压,将 /bin/glew32...
  • ganpengjin1
  • ganpengjin1
  • 2014-06-10 09:41
  • 20427

VS2013运行OpenGL例子提示找不到<GL/glew.h>,GL/freeglut_ext.h,GL/freeglut.h,glew32.lib,freeglut.lib等

按照教程: 找不到头文件"GL\glew.h" FreeGLUT库和GLEW库的安装: 把FreeGLUT库的.h文件(有4个:freeglut.h、freeglut_ext.h、freeglut_std.h和glut.h),freeglut.lib和freeglut.dll放...
  • u013187393
  • u013187393
  • 2016-03-16 21:20
  • 2159

vs2010 OpenGL+glfw+glew+glm

vs2010 + openGL 3.3编程环境配置 2013-05-22 00:59 1339人阅读 评论(0) 收藏 举报 这两天看tutorial的openGL教程,它用了glew、glfw和glm三个库,光是环境配置就让我头疼了N久ORZ...
  • zkl99999
  • zkl99999
  • 2015-09-22 13:51
  • 3493

OpenGL3.3+GLFW+GLEW+GLM实现小人行走动画

现在在网上找比较系统的教程基本都是旧版OpenGL,都是基于glut的,然而这个库已经是上个世纪的了……本文使用新版的OpenGL3.3,以及GLFW,GLEW,GLM。
  • ryinlovec
  • ryinlovec
  • 2017-04-05 21:54
  • 566

利用GLFW和GLEW搭建OpenGL开发环境

(如需交流,请关注公众号:神马观止) 1. 下载相应的头文件和库文件 GLEW:http://glew.sourceforge.net/index.html GLFW:http://www.glfw.org/download.html 得到glew-2.0.0-win32.zip和glfw-3.2....
  • dejingqianshen
  • dejingqianshen
  • 2016-10-01 13:48
  • 3807

OpenGL,glut,glew,glfw,mesa等

一、OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux)、实用工具库(glut),窗口库(glx、agl、wgl)和扩展函数库等。 gl是核心,glu是对gl的部分封装。glx、agl、wgl 是针对不同窗口系统的函数。glut是为跨平台的OpenGL程...
  • taozhi20084525
  • taozhi20084525
  • 2015-01-17 13:50
  • 6163
    个人资料
    • 访问:186534次
    • 积分:3267
    • 等级:
    • 排名:第12157名
    • 原创:115篇
    • 转载:185篇
    • 译文:1篇
    • 评论:16条
    最新评论