十分钟最简便配置mac+OpenGL+vscode

总共四个步骤【实测有效】
1、brew install glfw

确保你的mac有brew,没有的话,看着brew官网
教程。brew就类似应用商场,在线安装app,然后配置软连接,方便增删改查
在安装完brew之后,利用brew在线安装glfw,命令如下,在终端键入并回车即可
brew install glfw

2、下载glad

这个步骤只是上网下载代码拷贝进项目,具体步骤如下
准备 glad
(1)下载glad
进入下载界面下载 glad,它提供了一个生成器,选择如下:

Language选择C/C++;
Specification 选择 OpenGL;
gl 我这里选择的是 Version 3.3;
Profile 选择 Core.

【版本的选择视情况而定,你的机器和我的机器版本可能不一样,如果要查询gl的版本可以在(1) App Store 下载 OpenGL Extensions Viewer(2)打开 OpenGL Extensions Viewer进行查看。(当然用低版本肯定没问题)】

然后点击下面的 Generate 进行下载,只需要下载压缩包即可,下载完成后进行解压即可,不需要进行编译,直接在项目中引用源文件即可。
(2)拷贝glad
具体拷贝的步骤如下:
将 include 文件夹下的 glad、KHR 拷贝到项目中的 include 文件夹(没有的话进行创建),然后将 src/glad.c 单独拷贝到项目根目录中。

3、cmake 生成makelist.txt

(1)确保vscode安装了Cmake 和Cmake Tools两个插件,没装插件的,直接打开vs的商店进行安装
(2)输入vscode命令行 CMake:Quick Start 命令帮助快速创建。内容如下,会写cmake的自己写,不会的直接复制即可

cmake_minimum_required(VERSION 3.0.0)
project(HelloGL VERSION 0.1.0)

# 使用 C++ 11 标准
set(CMAKE_CXX_STANDARD 11)

# 添加头文件
set(GLAD_H ${PROJECT_SOURCE_DIR}/include)
set(GLFW_H /usr/local/include)
include_directories(${GLAD_H} ${GLFW_H})

# 添加目标链接
set(GLFW_LINK /usr/local/lib/libglfw.3.dylib)
link_libraries(${GLFW_LINK})

# 执行编译命令
set(SOURCES glad.c main.cpp)
add_executable(HelloGL ${SOURCES})

# 链接系统的 OpenGL 框架
if (APPLE)
    target_link_libraries(HelloGL "-framework OpenGL")
endif()

include(CTest)
enable_testing()

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
4、然后啥都不用配置 可以直接用cmake

新建一个名为main.cpp的文件
拷贝以下代码

#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>

void framebuffer_size_callback(GLFWwindow *window, int width, int height);
void processInput(GLFWwindow *window);

int main(int argc, const char *argv[])
{
    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

    GLFWwindow *window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL);
    if (window == NULL)
    {
        std::cout << "fail to create window" << std::endl;
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window);

    if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
    {
        std::cout << "Failed to initialize GLAD" << std::endl;
        return -1;
    }

    glViewport(0, 0, 800, 600);
    glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);

    while (!glfwWindowShouldClose(window))
    {

        processInput(window);
        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        glfwSwapBuffers(window);
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

void framebuffer_size_callback(GLFWwindow *window, int width, int height)
{
    glViewport(0, 0, width, height);
}

void processInput(GLFWwindow *window)
{
    if (glfwGetKey(window, GLFW_KEY_ESCAPE) == GLFW_PRESS)
    {
        glfwSetWindowShouldClose(window, true);
    }
}
总结,如何使用cmake调试和运行

编译的话输入命令CMake:Build
想要断点调试,输入命令 Cmake:Debug
想要直接运行,输入命令 CMake:Run without Debugging

别在配置环境上花太多时间,=。=不然得不偿失

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值