首页 > 其他分享 >Clion使用GLFW

Clion使用GLFW

时间:2024-12-17 17:13:30浏览次数:5  
标签:0.5 window 文件夹 GLFW 使用 glfw include Clion

GLFW

点击跳转 

 在GLFW下载页中,有两个下载项

  •  64-bit文件:当你准备制作64位的程序时,下载这个选项。需注意:只有64位操作系统才能运行
  •  32-bit文件:当你准备制作32位的程序时,下载这个选项。该选项可运行在 32、64、x86系统下

本教程为32-bit文件包

 

Clion

配置glfw文件

在clion中新建一个项目,默认会创建main.cpp和CMakeLists.txt

将glfw下载好的文件操作

  • 在clion项目中创建Dependencies文件夹
  • 在Dependencies中创建GLFW文件夹
  • 将glfw文件夹中的include文件夹复制进GLFW
  • 将glfw文件夹中的lib-mingw-w64复制到GLFW

 目录如图所示,我将main.cpp放在了src目录下并修改了文件名称,其实都一样

配置CMakeLists.txt

cmake_minimum_required(VERSION 3.28)
project(learn_opengl)

set(CMAKE_CXX_STANDARD 17)

// 引入glfw的include include_directories(Dependencies/GLFW/include)
// 链接glfw的lib link_directories(Dependencies/GLFW/lib) add_executable(learn_opengl src/Application.cpp)
// 链接glfw3 和 opengl32 target_link_libraries(learn_opengl glfw3 opengl32)

Application.cpp

此代码为https://www.glfw.org/documentation.html ,加入了三角形绘制

#include <GLFW/glfw3.h>

int main(void)
{
    GLFWwindow* window;

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
        glClear(GL_COLOR_BUFFER_BIT);

        glBegin(GL_TRIANGLES);
        glVertex2f(-0.5f, -0.5f);
        glVertex2f(0.0f, 0.5f);
        glVertex2f(0.5f, -0.5f);
        glEnd();

        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

 

结果

 

标签:0.5,window,文件夹,GLFW,使用,glfw,include,Clion
From: https://www.cnblogs.com/zyfeng/p/18612936

相关文章

  • 记录使用python遇到的问题
    pycharm和python版本问题pycharm官网从官网上查看不同版本的pycharm支持什么版本的python。版本不兼容,后续会出现一些莫名其妙的问题。比如说:我安装的是python3.11.3版本,但是提示的有误,以及一些报错。而且在创建虚拟环境的时候也一直有问题。如何卸载pycharm使用Uni......
  • 使用Flink实现MySQL实时同步数据到StarRocks(库表级)
    这里引用官网的文章+我在使用时遇到的问题。官网已经讲解的很明白了。从MySQL实时同步StarRocks支持多种方式将MySQL的数据实时同步至StarRocks,支撑实时分析和处理海量数据的需求。本文介绍如何将MySQL的数据通过ApacheFlink®实时(秒级)同步至StarRocks。注意导......
  • HTML打包EXE中的WebView2(免费)与Chrome内核的区别和使用场景详细介绍
    背景 近期有不少朋友使用了HTML一键打包EXE工具中的Webview2(免费)内核,询问的比较多的就是Webview2和Chrome内核的区别,这里会给大家做一个简单的介绍.WebView2是由微软提供的一种控件,它允许开发人员在本机应用程序中嵌入web技术(如HTML、CSS和JavaScript)。WebView2......
  • 使用Python脚本之家商品列表实现的解析
    本文将详细介绍如何使用Python脚本之家商品列表来实现各种功能。通过对不同方面的阐述,帮助读者更好地理解和应用这个功能。一、创建商品列表1、首先,我们需要导入所需的库,如下所示:代码语言:javascript复制importrequestsfrombs4importBeautifulSoup2、接下来,我们可以使用......
  • RTSP播放器EasyPlayer.js使用无插件流媒体服务器接口实现web网页H5播放
    在数字化时代,流媒体播放器已成为信息传播和娱乐消遣的主流载体。随着技术的进步,流媒体播放器的核心技术和发展趋势不断演变,影响着整个行业的发展方向。许多用户在使用无插件流媒体服务器时,常常对标准化的用户界面感到不满,因为这些界面可能无法满足他们特定的日常观看需求。为了......
  • 在 Windows Server 2022 中配置和使用 iSCSI 服务器是一项常见的任务,尤其是在虚拟化、
     在WindowsServer2022中配置和使用iSCSI服务器是一项常见的任务,尤其是在虚拟化、存储管理和备份等场景中。以下是一个初级使用教程的大纲,帮助你从头开始配置和使用iSCSI服务器。WindowsServer2022iSCSI服务器初级使用教程大纲1. 介绍与概念iSCSI概述什么是......
  • Swagger安装及使用
    前言在前后端分离开发的过程中,前端和后端需要进行api对接进行交互,就需要一个api规范文档,方便前后端的交互,但api文档不能根据代码的变化发生实时动态的改变,这样后端修改了接口,前端不能及时获取最新的接口,导致调用出错,需要手动维护api文档,加大了开发的工作量和困难,而swagger的出现......
  • 使用 Go 语言和 Tesseract 实现验证码识别
    步骤安装TesseractOCR引擎在使用Go编写验证码识别时,仍然需要安装TesseractOCR引擎。你可以通过以下命令在Linux上安装Tesseract:bash更多内容访问ttocr.com或联系1436423940sudoapt-getupdatesudoapt-getinstalltesseract-ocr对于macOS,可以通过Homebrew......
  • 使用 PHP 和 Tesseract 实现验证码识别
    步骤安装TesseractOCR引擎首先,你需要在系统中安装TesseractOCR引擎。你可以通过以下命令在Linux上安装Tesseract:bashsudoapt-getupdatesudoapt-getinstalltesseract-ocr如果你使用的是macOS,可以通过Homebrew安装:bashbrewinstalltesseract安装完成后,可......
  • 了解 CSS3 中 :nth-of-type() 伪类选择器的使用
    功能描述:nth-of-type是CSS3的一个伪类选择器,它可以根据元素在其同类型兄弟元素中的位置来选择一个或多个元素,而无需添加额外的类或ID。这个伪类的参数可以是一个数字、关键词(如odd或even),或者是一个公式(如an+b)。代码示例示例的html文件:<!DOCTYPEhtml><html><hea......