美文网首页
vs2017 搭建超级宝典(第五版)环境

vs2017 搭建超级宝典(第五版)环境

作者: 大批 | 来源:发表于2018-01-13 03:47 被阅读532次

    :)

     
     
     


     
    经过了2天的各种尝试,终于把环境搭建好了。记录下来希望能帮到其他人

    会使用到的库以及demo源码下载:https://pan.baidu.com/s/1c2ZwTZM 秘密: amna


    前言

    • 这篇文章主要是介绍了windows上面搭建opengl环境
       
    • opengl是一个规范(简单说就是规定了各种绘图的操作),每个显卡的厂商有自己的实现,所以在调用opengl的api的时候就需要考虑显卡的型号(opengl仅仅是个规范至于显卡怎么实现就看显卡的厂商了)。所以就有前人将调用的api进行了封装,这样就不用考虑显卡的型号(实际是因为opengl的api调用比较复杂),我们用到的库是glew(后面会介绍)
       
    • opengl虽然是用来绘图的api,但是当需要将绘制的图输出到屏幕上还需要和特定平台的窗口api结合(比如windows上面可以用MFC,android上用activity,其他不知道)。当然也有人写了一些库用来屏蔽各个操作系统的创建窗口的差异,我们用的是freeglut(后面介绍),这个库来自glut(这个库已经好久没有维护了)
       
    • 超级宝典还用到了作者自己写的一个工具库GLTools(后面介绍)

    需要用到 glew freeglut GLTools,下面就搞起来吧~~


    freeglut

    • 这个库在github上面,先去把代码搞下来 FreeGLUT

    • 目录结构是这样的,可以看到只有源码,所以需要自己编译成库


    • 这个项目并不是vs的项目,但是可以使用cmake将这个项目转成vs的项目(为啥可以转就百度吧)

    • 首先是下载cmake点我下载,选择一个合适自己系统的就行(安装过程也很简单,下一步,下一步就可以了)

    • 打开cmake-gui


    • 将freegult转化成vs项目需要告诉cmake源码目录和转化后的工程保存目录

    • 在源码文件夹里面创建一个转化后工程的文件夹,我命名为build


    • 选择源码目录和刚才创建的文件夹


    • 配置需要转化成什么版本vs的工程,点击左下角的Configure,我这里就转化成vs2017的项目

    • 点击Finish开始转化,在转化的过程中可能会遇到一些问题,可以不用管直接点击Generate

    • 这个时候就已经转化成功了,这个时候打开刚才创建的build目录(已经是一个vs项目了)


    • 用vs打开转化后的工程,可以点击build里面的文件打开,也可以点击cmake面板上的OpenProject按钮

    • 打开之后会发现里面的项目非常多


    • 这里我们就仅仅打包freeglut_static吧(右键生成)


    • 打包完成之后会在日志里面看到生成的库


    • 到此freeglut编译完成,后面再使用


    glew

    • 首先还是把代码搞下来glew
    • glew提供了编译好的库,我们就使用它编译好的库吧(想要死磕源码编译的自行百度吧),这里把编译好的库和源码一起下载吧(后面会用到源码)


    • glew就算搞好了(后面有空砸门再来死磕源码编译)

    GLTools

    • 这是作者自己的库,没有找到官方下载渠道(略坑)。最后在github上面找到了一个版本GLTools野鸡版本

    • 在用cmake转成vs工程的报错了,所以就用了一个比较蠢的办法,创建一个vs工程,将源代码拷贝过去(记得需要先拷贝到磁盘的工程目录里面)

    • 将src里面的cpp文件拷贝到工程目录下,将include文件夹拷贝到工程目录下


    • 在vs里面将include路径和cpp源码添加进项目





    • 开始编译(编译成静态库)



    • 生成的时候报了一堆错误


    • 解决办法是添加一个预处理命令


    • 接着编译又报错了(可以看到的是使用了glew,前面让你下载了源码的哈)


    • 将glew的.h (glew.h 和 wglew.h)和 .c(glew.c)文件添加到项目中(两个.h文件 和 一个.c文件)



    • 再次编译的时候出现了很多警告


    • 解决警告也是通过添加预处理来做的_CRT_SECURE_NO_WARNINGS

    • 最后终于生成了


    到这个时候需要的库都已经弄好了,接下来就是使用了


    OpenGlDemo

    • 创建一个vs项目
    • 拷贝头文件(我是放到项目根目录下面的include) 和 库文件(我是放到项目根目录的lib里面)
    • 拷贝完成之后的include目录


    • 拷贝完成之后的lib目录
    • 这里就使用书上的一个demo测试吧(代码是网上找的)

    • 运行的时候出现错误


    • 解决办法是定义一个WIN32的预处理命令


    • 再次运行 又报错了,这个可以重命名freeglut的库来解决



    • 运行,再次报错(库有冲突)



    • 运行的时候还在报错


    • 最后发现是静态库的问题,貌似不能使用静态库,所以换成动态库,重新编译freeglut,编译成动态库


    • 替换项目里面的静态库


    • 最后运行的时候报错


    • 将动态库拷贝到生成exe的目录


    • 最后终于可以了



    好运

    相关文章

      网友评论

          本文标题:vs2017 搭建超级宝典(第五版)环境

          本文链接:https://www.haomeiwen.com/subject/qmsqoxtx.html