博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opengl freeglut flew glut安装配置教程 VS2019 Windows10,无需复制文件
阅读量:3952 次
发布时间:2019-05-24

本文共 2764 字,大约阅读时间需要 9 分钟。

opengl安装教程

1.写在前面(可以直接跳到2看配置过程哈)

我搜了好多教程,大多都是复制文件,在属性页里面设置包含文件夹的很少,而且说的也很麻烦。先吐槽一下VS的目录(笔者的是VS2019),不但藏的很深,而且子目录太多,见下图感受一下:在 D:\Softwares\VS2019\Visual Studio IDE\VC\Tools\MSVC\14.28.29910 中,有(配置OpenGL时)复制文件的目标目录

在这里插入图片描述

  • 存放头文件(.h)的include还好,建立一个GL文件夹或者有的直接复制进去就行了。
  • lib下面有x64、x86、onecore三个文件夹,并且onecore下面还有x64和x86文件夹。
  • 最后bin里面更离谱:bin[Hostx64(x64, x86), Hostx86(x64, x86)],也就是bin下面有Hostx64和Hostx86文件夹,而两个文件夹下又有x64x86
  • 这复制的时候,到底复制到哪一个文件夹里呢,是都要复制呢,还是64的库就复制到x64文件夹,32的库就复制到x86文件夹呢,复制到哪个x86和x64呢,有的库文件名字两个模式下都是一样的,更难分辨,,,,,,sh*t
  • 有的为了保险就会全部都复制一遍,但这样有时不能解决问题,因为有的库文件名字两个模式下是一样的。首先,就算运行成功,也是歪打正着,这样就无法弄明白其中的调用机制。如果出错,就很难再通过移动库文件位置把它弄好,到时候就会乱套,别问我怎么知道的,都是泪,还记得那个深夜,一个人捶桌子。。。

不过,需要承认的是,这样应该也是管用的,因为VS在运行程序的时候确实会扫描上面的那几个文件,在选择x86或者x64模式的时候,include是公用的,lib和bin会扫描对应的文件夹,里面有opengl的库就可以运行,但是采用复制文件的方法配置OpenGL是不明智的,是很麻烦的,而且对VS进行更新之后,关于openGL的库会被识别处理分离出去(我的就是这样),到时候还要再去复制文件。

还有.dll文件,大多数都是直接扔到system32和sysWOW64文件夹下,有的就直接两个文件都复制一遍,说是为了保险。

但是,这是不科学的, 某个项目用到的包和库,不应该放到软件的安装目录中或者系统的文件夹下,因为这样会污染软件和系统文件(里面的一般都有很多重要file,万一手抖),严重时要重装软件,甚至重装系统库文件应该被分离出来,放在一个地方,然后项目用到时,将文件链接到项目中,比如OpenGL应该单独建立一个文件夹,里面放opengl相关的.dll(bin), .lib(lib), .h(include)文件

2.采用链接文件的方式配置opengl(指定3个目录即可,只需2步,无需复制文件)

以下介绍一种较为科学、方便的方法,说是链接文件,其实就是指定三个目录(lib, bin, include), 每个目录都是自己建立和整理的,这样会有掌控感,而不是瞎弄。

  • 注意,笔者建议把VS下的目录和系统目录(system32和sysWOW64)恢复到纯净状态才进行配置,就是把目录里的关于opengl的文件等全部删除,把目录恢复到初始状态,注意可别把原来自带的文件删了,这也是我不赞成复制方法的原因。因为不知道VS扫描库是看到两个同名的库文件会加载哪个,可能会有问题,不过我测试过应该没,只要后来运行程序没问题就行。不过我只是强迫症,不允许混乱。

1.整理opengl库文件,即建立三个目录统一存放库文件

把openGL相关的库文件或者头文件整理成下图中的目录,其实不整理也行,只不过链接文件夹的时候要多加几个文件夹,不过还是建议整理一下,方便管理。

比如我想安装好几个库,每个里面基本上都有.h, .lib, .dll,把它们整理到一起,链接到项目时很方便。只安装freeglut或者其他的库也是一个道理哈,不要复制文件。建立三个目录,每个目录里的库文件放到位,直接按照下图添加三个文件夹就行了。里面的glut配置了没用到,请忽略。它太老了,落了20年的灰了,可以把它放在32位的目录中。

详细说明一下,把每个库文件移动到自己建立的总文件夹下,比如把freeglut、glew里面的dll都放到自建的bin中,注意,如果.dll有64位和86位之分,可以在bin目录中建立x86和x64文件夹,把.dll放到对应的目录下 ,链接到工程时需要哪个就用选择哪个文件夹.

include文件(.h)不用分位数,不过要建立一个GL(如果你也要配置gltools的话,里面的.h文件直接放在include下就行了),其实你也能看出来,里面的目录结构要和你下载的freeglut等库目录是对应的, lib(.lib)和bin是一个道理

自己建立的目录:

在这里插入图片描述
opengl库文件
在这里插入图片描述
整理后:
在这里插入图片描述

2.给VS项目配置三个目录,分别对应dll, lib, h文件

直接上图:

在这里插入图片描述
在这里插入图片描述

  • 右键工程>>属性>>VC++目录>>找到包含文件,编辑新建, 选择你上面整理好的include文件>>别退出,找到库目录,编辑新建,选择你整理好的lib目录。
  • 找到链接器>>选择输入>>把用到的库的名字加到附加依赖项中,点击应用,这一步其实也可以在代码中显示的指定,比如在代码头部加入以下预处理命令就可以指定引用gltools.lib
  • #pragma comment(lib,"gltools.lib")

(注意,笔者的工程要使用的是x86模式,故选择了lib里面的x86文件夹,这个也是上面整理的时候自己建立的哈),如果你的是x64,就在lib里面建立一个x64文件夹,把64位的库文件放里面再添加到上图的目录中。如果文件没有x64和x86之分,完全可以直接放在lib中,再直接添加lib文件夹。

在这里插入图片描述

  • 右键工程>>属性>>调试>>环境一栏填写 path=<.dll文件所在的目录>, 如上图:(这和放在system32或者sysWOW64是一个道理)只不过VS会自动扫描那两个文件夹,而这里只是增加了一个需要扫描的文件夹,即运行的环境。这里笔者引入的也是x86,和lib是对应的,你们按需选择。

大功告成,收摊。^ - ^你甚至可以把所有的.dll, .lib, .h文件全部放在同一个文件夹下,然后直接在三个位置引入同一个文件夹。笔者把它们分开只是为了便于区分和管理

这里有个画图的例子,还有下载的opengl库,和笔者整理好的库文件,按照教程直接配置就可以运行查看效果,你不试试吗

链接:
提取码: tu4w
在这里插入图片描述
在这里插入图片描述

**热爱可抵  岁月漫长**                               2021-3-19 16:10 by heyuanfly

转载地址:http://xikzi.baihongyu.com/

你可能感兴趣的文章
poll()函数的使用
查看>>
I/O多路复用详解(二)
查看>>
深入理解硬盘的Linux分区
查看>>
ARM 指令集>>跳转指令
查看>>
gpio linux 实现模型
查看>>
Linux 2440 LCD 控制器
查看>>
/sys/bus/i2c/devices下的内容与i2c_board_info结构体
查看>>
为linux虚拟机增加第二块硬盘
查看>>
Linux那些事儿之我是EHCI(2) 套路
查看>>
i2c-adapter的注册过程
查看>>
container_of()宏
查看>>
Linux设备驱动之I2C架构分析
查看>>
通信设备硬件工程师应该具备的基本能力和知识-1
查看>>
通信设备硬件工程师应该具备的基本能力和知识-2
查看>>
年轻工程师如何锻炼成高手的
查看>>
Android 源码编译 文件系统制作
查看>>
Android文件系统深入剖析
查看>>
Android build system note
查看>>
编写Linux下Input设备的检测程序
查看>>
Android Recovery模式
查看>>