OpenGL VS2019配置过程
总体的配置流程和工具参考了LearnOpenGL的内容,但是过程中跳进了坑中,为了爬坑耗费了些时间,在博客中记录配置过程,方便以后查阅,也方便路人爬坑。LearnOpenGL的教材地址:https://learnopengl.com/Getting-started/Creating-a-window
工具安装过程
1. 开发工具VS2019(要安装组件C++),详细的安装过程“略”。
2. 下载GLFW,链接地址:https://www.glfw.org/download.html。这里下载的是64位源码文件包,放到一个指定目录中,我放在了D盘下,目录为“D:\OpenGL”,然后解压。如图所示:
3. 下载Cmake并安装,链接地址:https://cmake.org/download/。这里下载的32位安装文件,下载后默认安装即可。安装完毕,打开Cmake软件,通过GUI进行相关配置。具体配置如下:(1)在 Where is the source code 中选择glfw解压后的目录;(2)在解压后的目录中新建个build目录,填入 Where to build the binaries 中;(3)一旦设置了源文件夹和目标文件夹,请单击Configure
按钮,以便CMake可以读取所需的设置和源代码。然后我们必须选择项目的生成器,并且由于我们使用的是Visual Studio 2019,因此我们将选择该Visual Studio 16
选项(Visual Studio 2019也称为Visual Studio 16)(4)CMake将显示可能的构建选项以配置生成的库,单击Generate
,结果项目文件将在您的build
文件夹中生成。
4. 现在可以 在build
文件夹中找到一个名为的文件GLFW.sln
,然后使用Visual Studio 2019将其打开。由于CMake生成了一个项目文件,其中已经包含正确的配置设置,因此我们只需要构建解决方案即可。CMake应该已经自动配置了解决方案,因此可以编译为64位库。现在点击构建解决方案。这将为我们提供一个可在build/src/Debug
named中找到的已编译库文件glfw3.lib
。生成库后,我们需要确保IDE知道在哪里可以找到库以及OpenGL程序的包含文件。
5. 我们在D盘根目录下再新建一个文件夹,用来存放包含来自第三方库的所有头文件/库,然后可以从IDE /编译器中引用这些头文件/库。例如,在D盘下创建目录“OpenGLResources”,其中包含Libs
和Include
文件夹,我们分别在其中存储OpenGL项目的所有库文件和头文件。现在的要求是每次创建新项目时,我们都必须告诉IDE在哪里可以找到这些目录。将生产的glfw3.lib
文件放入“D:\OpenGLResources\Libs”中。
项目配置过程
1. 首先,让我们打开Visual Studio并创建一个新项目。如果提供了多个选项,请选择C ++并使用Empty Project
(不要忘记给您的项目起一个合适的名称)。由于我们将以64位方式完成所有工作,并且该项目默认为32位,因此我们需要将“调试”旁边顶部的下拉菜单从x86更改为x64:
2. 在“解决方案资源管理器”中,右键项目,添加C++文件,可以命名为“main.cpp”.
3. 在解决方案资源管理器中右键单击项目名称,然后转到下VC++ Directories
图所示的位置:
分别在“Include Directories”和“Library Directories”添加“D:\OpenGLResources”中的“Libs”和“Include”目录。如图所示:
在这里,您可以根据需要添加任意数量的附加目录,并且从那以后,IDE还将在搜索库和头文件时搜索这些目录。一旦Include
包含了GLFW中的文件夹,您就可以通过包含来查找GLFW的所有头文件<GLFW/..>
。库目录也是如此。
4. 由于VS现在可以找到所有必需的文件,因此我们最终可以通过转到Linker
选项卡和将GLFW链接到项目Input
:
然后,要链接到库,您必须为链接器指定库的名称。由于库名是glfw3.lib
,我们将其添加到Additional Dependencies
字段中(手动或使用<Edit..>
选项),并且从这一点开始,GLFW在编译时将被链接。除了GLFW,我们还应该向OpenGL库添加一个链接条目opengl32.lib。
如果您使用的是Windows,则OpenGL库opengl32.lib
随Microsoft SDK一起提供,在安装Visual Studio时默认会安装该库。由于本章使用VS编译器,并且在Windows上,因此我们将其添加opengl32.lib
到链接器设置中。请注意,与OpenGL库的64位等效项称为opengl32.lib。
这样就完成了GLFW的设置和配置。
5. 转到GLAD Web服务,确保将语言设置为C ++,并在“ API”部分中选择至少3.3的OpenGL版本(这是我们将要使用的版本;更高的版本也可以)。另外,还要确保将配置文件设置为Core,并选中“ 生成加载程序”选项。暂时忽略扩展名,然后单击生成以生成结果库文件。
GLAD现在应该已经为您提供了一个包含两个包含文件夹和一个glad.c
文件的zip 文件。将两个include文件夹(glad
和KHR
)都复制到您的include(s)目录中,即“D:\OpenGLResources\include”中。然后将该glad.c
文件添加到您的项目中。
完成上述步骤之后,您应该能够在“main.cpp”文件上方添加以下include指令:
#include <glad/glad.h>
打到编译按钮,不应该给你任何错误。