当前位置: 首页 > 工具软件 > glad > 使用案例 >

Win10+Vs2022+opengl4.6+glad+glwf3 开发环境搭建

黄啸
2023-12-01

1. 安装vs2022

https://visualstudio.microsoft.com

只需要选择 Desktop development with C++ 组件,其它组件都不用选。C++组件中要手动勾上C++ Clang tools,其它的保持默认状态即可.

2. 打开vs2022, 创建一个新项目idealand,创建同名的solution文件夹,

在solution文件夹中创建libs文件夹,用于存放第三方库

在solution文件夹中创建projects文件夹,用于存放第三方项目的源代码

3. 下载安装cmake,用于编译源代码

https://cmake.org/download/

https://github.com/Kitware/CMake/releases/download/v3.24.2/cmake-3.24.2-windows-x86_64.msi

内网高速下载:

aria2c -o cmake-3.24.2-windows-x86_64.msi -x 3 -s 12 "https://bzc.idealand.xyz:8600/dl/cmake-3.24.2-windows-x86_64.msi/dl" "http://tool.idealand.xyz/cmake-3.24.2-windows-x86_64.msi" "http://108.60.212.227/Files/Software/cmake-3.24.2-windows-x86_64.msi" "https://github.com/Kitware/CMake/releases/download/v3.24.2/cmake-3.24.2-windows-x86_64.msi"

4. 设置glfw库,用于创建窗体
https://www.glfw.org

(1)使用编译好的二进制库:

下载 https://github.com/glfw/glfw/releases/download/3.3.8/glfw-3.3.8.bin.WIN64.zip

解压后放到solution\libs\文件夹里面即可

(2)从源代码编译

下载源代码:https://github.com/glfw/glfw/releases/download/3.3.8/glfw-3.3.8.zip

解压后放到solution\projects\文件夹里面,并在glfw根目录里创建build文件夹用于存放编译好的文件

打开cmake, 输入源文件的路径为solution\projects\glfw\

build的路径为solution\projects\glfw\build\

然后点击configure, 弹出选择框,选择vs 2017 2022, x64,其它默认,然后点击finish

出现一堆红色内容,不要修改它们,再次点击configure保存红色部分的设置,这时底部出现configure done

然后点击generate, 底部出现generate done,这样vs2022的项目文件就生成好了,在build文件夹里面

关闭cmake,接下来用vs2022来编译

双击build/glfw.sln, 用vs2022打开,点击生成解决方案

生成完毕,在build\src\Debug下可以找到 glfw3.lib,将它拷贝到solution\libs\glfw\lib-vc2022 里面

将projects\glfw\include\GLFW里面的文件拷贝到solution\libs\glfw\include\GLFW\里面

项目属性 - C/C++ - additional include path: $(SolutionDir)libs\glfw\include\;
项目属性 - Linker - additional library directories: $(SolutionDir)libs\glfw\lib-vc2022\;
项目属性 - Linker - input - additional dependencies: glfw3.lib

#include <GLFW/glfw3.h>

3. opengl本身是一种api规范,实现它的代码的通常是显卡厂商的驱动程序,因此,显卡驱动程序中本身就包含了opengl的实现代码,这样就会导致每家显卡厂商对opengl的实现有些许差异,而且对opengl的实现代码很可能不是开源的,开源的仅仅是opengl标准本身。opengl的优势是跨平台,因为windows, linux, mac os,ios, android都有对opengl的支持。

(1) windows

the OpenGL library  opengl32.lib  comes with the Microsoft SDK, which is installed by default when you install Visual Studio.

64bits的opengl库也叫opengl32.lib,这个是比较令人困惑的。

在项目中添加opengl库

项目属性 - Linker - input -  additional dependencies: opengl32.lib;

(2) linux

On Linux systems you need to link to the  libGL.so  library by adding  -lGL  to your linker settings. If you can't find the library you probably need to install any of the Mesa, NVidia or AMD dev packages.

link command: -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXi -ldl

4. GLAD用于在runtime时找到OS中的opengl functions的指针,从而可以调用这些functions

打开http://glad.dav1d.de/,选择C++, OpenGL, API gl: version 4.6, profile: core, check Generate a loader

click  Generate  to produce the resulting library files

下载glad.zip文件,解压缩,放到solution\libs\里面

项目属性 - C/C++ - additional include path: $(SolutionDir)libs\glad\include\;

在项目源代码里添加glad\src\glad.c文件

#include <glad/glad.h>

5. 创建窗口

https://www.glfw.org/docs/latest/quick.html

参考资料:

OpenGL的环境搭建(cmake+glfw+glew+vs2017)(2019年)

https://blog.csdn.net/NowSayHelloWorld/article/details/102635236

 类似资料: