vs2010 OpenGL+glfw+glew+glm
2015-09-22 13:51
856 查看
vs2010 + openGL 3.3编程环境配置
2013-05-22 00:59 1339人阅读 评论(0) 收藏 举报这两天看tutorial的openGL教程,它用了glew、glfw和glm三个库,光是环境配置就让我头疼了N久ORZ
这边记录一下我是怎么配置成功的。
glew、glfw和glm三个库都可以在SourceForge上下载到,此外还需要下载一个opengl32.lib
将glew32.dll、GLFW.dll复制到C:\WINDOWS\system32中
将glm文件夹复制到vs2010安装文件夹下的VC\Include中
将glfw.h、glew.h、wglew.h复制到vs2010安装文件夹下的VC\Include\gl中
将glew32.lib、GLFW.lib、GLFWDLL.lib、opengl32.lib复制到vs2010安装文件夹下的VC\lib中
在vs2010中打开项目属性页,在链接器→输入→附加依赖项中添加opengl32.lib;glew32.lib;GLFW.lib;GLFWDLL.lib;
最后在你的代码里包含这些就可以了:
[html] view
plaincopy
#include <gl/glew.h>
#define GLFW_DLL
#include <gl/glfw.h>
#include <glm/glm.hpp>
using namespace glm;
关于那个#define GLFW_DLL,tutorial的源代码里没有,但是我的工程里不写这个就无法通过编译,在网上查到很多人都遇到这个问题,现在这个具体的解决方法是在老外的opengl论坛里找到的。
我的编程环境目前为止是没什么问题了,希望它一直好好的,蛋疼啊_(:зゝ∠)_
[转]VS 2008 OpenGL+glfw+glew+glm 配置
2014-4-17阅读1099 评论0本文详细讲解一下怎么在VS2008 Win7 64bits环境下搭建OpenGL,以及用glfw,glew,glm开源库来新建一个OpenGL项目
1.准备作,就是你需要去下载一些东西,可以去官网下,如果访问不了,从我的百度网盘下载也可以
cmake-2.8.12.2-win32-x86官方下载cmake-2.8.12.2-win32-x86百度网盘下载
glfw-3.0.4官方github地址
glfw-3.0.4百度网盘源码下载
glew-1.10.0-win32官方下载
glew-1.10.0-win32百度网盘下载
glm-0.9.5.3官方下载
glm-0.9.5.3百度网盘下载
2.开始编译,配置所需要的开源库
安装cmake,这个就不介绍了用cmake编译glfw的VS2008 Project
cmake目录设置:目录结构如下,其中第二个目录不一定要和source code在一个同一个根目录下
点Configure,弹出Create Directory,点Yes
先编译32bits的VS Project,选择Visual Studio 9 2008 默认Finish
再勾选第一个BUILD_SHARED_LIBS(这里说一下,如果不勾选的话,VS中编译生成的文件只有一个glfw3.lib,这个库单独用就可以了;如果勾选了则会生成两个文件glfw3.dll和glfw3dll.lib,当我们用glfw3dll.lib的时候,程序在运行时需要用到glfw3.dll),Configure一下,直到红色都消失,像下面一样
点Generate生成VS 2008 Protect,看到提示信息里Generating done说明生成好了
用VS2008编译生成lib、dll文件
用VS2008打开GLFW.sln项目解决方案,项目里有个ALL_BUILD,默认是启动项目,如果不是记得一定要把ALL_BUILD设置成启动项目,然后生成ALL_BUILD,编译模式选择RelWithDebInfo模式编译,完成如下图:
![](http://blog.csdn.net/zkl99999/article/details/file:/C:/Users/Win7/AppData/Local/Temp/Wiz/67ef76e2-5f5c-4030-b27e-bfedb63809de_128_files/14730971.png)
在~.\glfw-3.0.4_bin\src\Debug\目录生成了glfw3dll.lib,glfw3.dll文件,(glfw3.lib:这个勾选了BUILD_SHARED_LIBS就没有,有的话在src\RelWithDebInfo目录下)
随便在哪建两个文件夹include,lib32
把~.\glfw-3.0.4\include\目录下的文件夹GLFW复制到include文件夹
把编译得到的glfw3.lib,glfw3dll.lib文件复制到lib32文件夹
把glew-1.10.0-win32.zip解压,把~.\glew-1.10.0\include\目录下的GL文件夹复制到include文件夹
把~.\glew-1.10.0\lib\Release\Win32目录下的glew32s.lib复制到lib32文件夹
把glm-0.9.5.3.zip解压把解压出来~.glm\目录下的glm文件夹复制到include文件夹
3.开始用glfw,glew,glm开发OpenGL项目
新建一个VS项目,默认完成然后把我们新建的incl和lib32文件夹拷到OpenGL_lesson.sln所在目录,最后目录结构如下
最关键的一步,配置项目属性,在00_config属性页
1.C/C++->常规->附加包含目录,添加上图中的include文件夹
![](http://blog.csdn.net/zkl99999/article/details/file:/C:/Users/Win7/AppData/Local/Temp/Wiz/67ef76e2-5f5c-4030-b27e-bfedb63809de_128_files/16818498.png)
2.C/C++->预处理器->预处理器定义,添加GLEW_STATIC
![](http://blog.csdn.net/zkl99999/article/details/file:/C:/Users/Win7/AppData/Local/Temp/Wiz/67ef76e2-5f5c-4030-b27e-bfedb63809de_128_files/16924657.png)
3.链接器->常规->附加库目录,添加lib32文件夹
![](http://blog.csdn.net/zkl99999/article/details/file:/C:/Users/Win7/AppData/Local/Temp/Wiz/67ef76e2-5f5c-4030-b27e-bfedb63809de_128_files/17080409.png)
4.链接器->输入->附加依赖项,添加glfw3dll.lib;opengl32.lib;glu32.lib;glew32s.lib
![](http://blog.csdn.net/zkl99999/article/details/file:/C:/Users/Win7/AppData/Local/Temp/Wiz/67ef76e2-5f5c-4030-b27e-bfedb63809de_128_files/17251401.png)
5.把生成的~.\glfw-3.0.4_bin\src\Debug目录下的glfw3.dll拷到00_config文件夹下(如果是用的glfw3.lib则不用这一步)
配置完之后再把如下代码拷到00_config.cpp文件里,build一下,有很多警告,解决方法暂时没去研究,但是可以运行了
// 00_config.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <gl/glew.h> #include <glfw/glfw3.h> GLFWwindow* window; #include <glm/glm.hpp> using namespace glm; int main( void ) { // Initialize GLFW if( !glfwInit() ) { fprintf( stderr, "Failed to initialize GLFW\n" ); return -1; } glfwWindowHint(GLFW_SAMPLES, 4); glfwWindowHint(GLFW_RESIZABLE,GL_FALSE); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); // Open a window and create its OpenGL context window = glfwCreateWindow( 1366, 768, "配置OpenGL环境", NULL, NULL); if( window == NULL ){ fprintf( stderr, "Failed to open GLFW window. If you have an Intel GPU, they are not 3.3 compatible. Try the 2.1 version of the tutorials.\n" ); glfwTerminate(); return -1; } glfwMakeContextCurrent(window); // Initialize GLEW if (glewInit() != GLEW_OK) { fprintf(stderr, "Failed to initialize GLEW\n"); return -1; } // Ensure we can capture the escape key being pressed below glfwSetInputMode(window, GLFW_STICKY_KEYS, GL_TRUE); // Dark blue background glClearColor(0.0f, 0.0f, 0.4f, 0.0f); do{ // Draw nothing, see you in tutorial 2 ! // Swap buffers glfwSwapBuffers(window); glfwPollEvents(); } // Check if the ESC key was pressed or the window was closed while( glfwGetKey(window, GLFW_KEY_ESCAPE ) != GLFW_PRESS && glfwWindowShouldClose(window) == 0 ); // Close OpenGL window and terminate GLFW glfwTerminate(); return 0; }
相关文章推荐
- ARM裸机之体系架构介绍一
- 高级Bash脚本编程指南
- java tomcat html5调试中需要关注的配置问题
- Linux-HUP信号的干扰问题
- [9-13]Shell系列6――取算数运算数值
- hadoop集群模式下导入数据到hbase上报错
- No EditorOptionDefinition Export Found Error的问题
- Nginx负载均衡配置实例详解
- 系统运维工程师装逼完全指南
- linux centos7 安装scarapy步骤
- CentOS7.0 关闭防火墙
- LINUX常用配置及命令
- hdu Diophantus of Alexandria(素数的筛选+分解)
- linux相关命令
- linux svn环境搭建及配置
- CentOS7 配置nginx 遇到的一些问题
- Tomcat使用-学习笔记
- openSSL命令、PKI、CA、SSL证书原理
- VM虚拟机Linux克隆后网卡的相关操作!
- RedHat Linux6.5 使用CentOS yum源