关于在windows中配置flew,glfw

在红宝书的教程中使用的glu ,nehe的教程也是,但是发现一些最新的教程使用的fglew,和glfw,下面是一篇转载别人配置的文章,本人测试成功。这个文章中采用的是库自己编译后出来,我自己编译时提示错误,我直接在flew官网上下载的的库,没有采用自己编译。下边的连接大家可以直接用现成的,glew连接http://download.csdn.net/detail/qq_28637193/9615445    glfw连接http://download.csdn.net/detail/qq_28637193/9615443

另外根据我的经验不同版本和VS 在一起用会有问题,大家可以多下载几个glew试试,这是另外一个flew的连接,试过好用http://download.csdn.net/download/wangzhione/9172439

































然后在属性中选择c/c++加入自己的头文件位置




然后在链接器中加入自己的库的位置然后添加所需要的库







下面是别人配置我照着成功了


地址为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打开对应的项目,本机用vs2012。

b. 用vs2012或者更高版本打开glew.sln,编译此项目。

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

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

3> 准备好了glew的库,下面使用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类中输入代码,进行测试,如果未报错,即环境配置成功,测试代码可以从开头的网站上或者,或者复制下面的代码进行测试。

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. #include <iostream>  
  2.   
  3. // GLEW  
  4. #define GLEW_STATIC  
  5. #include <GL/glew.h>  
  6.   
  7. // GLFW  
  8. #include <GLFW/glfw3.h>  
  9.   
  10.   
  11. // Function prototypes  
  12. void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode);  
  13.   
  14. // Window dimensions  
  15. const GLuint WIDTH = 800, HEIGHT = 600;  
  16.   
  17. // The MAIN function, from here we start the application and run the game loop  
  18. int main()  
  19. {  
  20.     std::cout << "Starting GLFW context, OpenGL 3.3" << std::endl;  
  21.     // Init GLFW  
  22.     glfwInit();  
  23.     // Set all the required options for GLFW  
  24.     glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);  
  25.     glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);  
  26.     glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);  
  27.     glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);  
  28.   
  29.     // Create a GLFWwindow object that we can use for GLFW's functions  
  30.     GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "LearnOpenGL", nullptr, nullptr);  
  31.     if (window == nullptr)  
  32.     {  
  33.         std::cout << "Failed to create GLFW window" << std::endl;  
  34.         glfwTerminate();  
  35.         return -1;  
  36.     }  
  37.     glfwMakeContextCurrent(window);  
  38.     // Set the required callback functions  
  39.     glfwSetKeyCallback(window, key_callback);  
  40.   
  41.     // Set this to true so GLEW knows to use a modern approach to retrieving function pointers and extensions  
  42.     glewExperimental = GL_TRUE;  
  43.     // Initialize GLEW to setup the OpenGL Function pointers  
  44.     if (glewInit() != GLEW_OK)  
  45.     {  
  46.         std::cout << "Failed to initialize GLEW" << std::endl;  
  47.         return -1;  
  48.     }  
  49.   
  50.     // Define the viewport dimensions  
  51.     glViewport(0, 0, WIDTH, HEIGHT);  
  52.   
  53.     // Game loop  
  54.     while (!glfwWindowShouldClose(window))  
  55.     {  
  56.         // Check if any events have been activiated (key pressed, mouse moved etc.) and call corresponding response functions  
  57.         glfwPollEvents();  
  58.   
  59.         // Render  
  60.         // Clear the colorbuffer  
  61.         glClearColor(0.2f, 0.3f, 0.3f, 1.0f);  
  62.         glClear(GL_COLOR_BUFFER_BIT);  
  63.   
  64.         // Swap the screen buffers  
  65.         glfwSwapBuffers(window);  
  66.     }  
  67.   
  68.     // Terminate GLFW, clearing any resources allocated by GLFW.  
  69.     glfwTerminate();  
  70.     return 0;  
  71. }  
  72.   
  73. // Is called whenever a key is pressed/released via GLFW  
  74. void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)  
  75. {  
  76.     std::cout << key << std::endl;  
  77.     if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)  
  78.         glfwSetWindowShouldClose(window, GL_TRUE);  
  79. }  

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



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



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值