IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> OpenGL vscode 安装与配置 -> 正文阅读

[开发工具]OpenGL vscode 安装与配置

OpenGL vscode 安装与配置

一.在vscode中配置好C++的环境

这个看下网上的教程

二.下载cmake

CMake

image-20210913190553826

下载好后点击安装,安装过程中选择add path to all users 和添加桌面快捷方式

三.下载glfw

glfw

image-20210913195953954

解压下载好的文件夹

四. 构建glfw

打开CMake

输入source code目录(就是之前下的glfw文件夹)和build目录(自己创建一个文件夹)

image-20210913201036864

点击configure后出现如下界面

image-20210913201158765

按照上图进行选择,点击finish

完成后勾选BUILD SHARED_LIBS,点击Generate

image-20210913201531122

出现以下界面则显示生成成功

image-20210913201633264

cmd进入到刚刚自己创建的build目录,输入mingw32-make,等待编译100%

image-20210913202051915

出现以下界面说明构建成功

image-20210913202145311

打开刚刚的文件夹中的src文件夹

我们需要的是其中的glfw.dlllibglfw3dll.a这两个文件

image-20210913202539703

五.配置glad

点击https://glad.dav1d.de打开glad在线服务,按照如下图设置

image-20210913202832745

页面往下拖动

image-20210913202954070

然后出现以下界面,点击glad.zip,下载文件夹

image-20210913203045750

下载后解压文件夹,在cmd中进入该目录,输入下面的命令

gcc .\src\glad.c -c -I.\include\
ar -rc libglad.a glad.o

之后会得到glad.o和libglad.a两个文件,其中libglad.a是需要的

六.构建第一个项目

在vs code中下载c/c++ Project Generator插件,按ctrl+shift+p,输入Create C++ Project,然后创建一个文件夹用于存放项目。

接着,将我们之前得到的库文件和头文件添加到项目里

项目结构如下:

image-20210913212605724

其中:

  • glad文件夹和KHR文件夹来源于第五步中下载的glad文件夹目录下的include文件夹下的两个文件夹
  • GLFW文件夹来源于第三步中下载的glfw文件夹下的include文件夹下的文件夹
  • glfw3.dll、libglad.a、libglfw3dll.a这三个文件分别是第四步和第五步中得到的文件

将上述文件复制到合适的地方,最后呈现如上图所示项目结构

接下来编写makefile文件,其中makefile文件需要按照格式,不能有多余的空格、换行,将下面的内容覆盖原有的Makefile(注意,其中第14行和第17行前为tab键不是空格,如果报错试着看看是空格还是tab)

CXX		:= g++
CXX_FLAGS       := -g -std=c++17 #-Wextra -Wall

SRC		:= src
INCLUDE         := ./include
LIB		:= ./lib

LIBRARIES	:= -lglad -lglfw3dll
EXECUTABLE	:= main

all:./$(EXECUTABLE)

run: all
	./$(EXECUTABLE)

$(EXECUTABLE):$(SRC)/*.cpp
	$(CXX) $(CXX_FLAGS) -I$(INCLUDE) -L$(LIB) $^ -o $@ $(LIBRARIES)

接着我们复制以下代码到main.cpp,测试环境是否搭建好

#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <iostream>
// settings
const unsigned int SCR_WIDTH = 800;
const unsigned int SCR_HEIGHT = 600;
int main()
{
    // glfw: initialize and configure
    // ------------------------------
    glfwInit();
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
#ifdef __APPLE__
    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); //uncomment this statement to fix compilation on OS X
#endif
    // glfw window creation
    // --------------------
    GLFWwindow *window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT,"LearnOpenGL", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "Failed to create GLFW window" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);
    // glad: load all OpenGL function pointers
    // ---------------------------------------
    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        std::cout << "Failed to initialize GLAD" << std::endl;
        return -1;
    }
    // render loop
    // -----------
    while (!glfwWindowShouldClose(window))
    {
        glClearColor(0.0f, 1.f, 0.0f,1.0f);
        glClear(GL_COLOR_BUFFER_BIT);
        // glfw: swap buffers and poll IO events (keyspressed/released, mouse moved etc.)
        // ---------------------------------------------------
        glfwSwapBuffers(window);
        glfwPollEvents();
    }
    // glfw: terminate, clearing all previously allocated GLFWresources.
    //---------------------------------------------------------------
    glfwTerminate();
    return 0;
}

最后打开vs code终端,输入mingw32-make run运行

image-20210913214138132

显示出绿色的窗口则说明环境搭建成功

image-20210913214213998

之后每次创建项目都需要复制整个项目文件夹,并修改main.cpp即可

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-14 13:33:52  更:2021-09-14 13:34:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:52:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码