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 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> WSL2+OpenGL环境配置 -> 正文阅读

[C++知识库]WSL2+OpenGL环境配置

一. 进行glfw的配置

// GLFW的配置 (命令行安装)
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt install libglfw3-dev

// 具体头文件的使用
#include <GLFW/glfw3.h>

// 后续具体通过cmake进行配置

二. 进行glad的配置

目前WSL2好像只支持OpenGL 3.3。

?打开网站https://glad.dav1d.de/?点击generate 生成压缩包。

?下载glad.zip 包,并进行解压。

cd glad/include
sudo mv glad/ /usr/include #将glad目录移动到/usr/include
sudo mv KHR/ /usr/include #将KHR目录移动到/usr/include

// 具体头文件的使用
#include <glad/glad.h> 

最后将glad/src目录下的glad.c文件拷贝一份到你的工程源码目录下(与你的main.cpp在同意目录)。

三. glm库的安装

sudo apt install libglm-dev

sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev

// 具体头文件的使用
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>

四. assimp库的安装

sudo apt-get install assimp-utils

// 具体文件中,头文件的使用
#include <assimp/Importer.hpp>
#include <assimp/scene.h>
#include <assimp/postprocess.h>

五. imgui的安装

从网站https://github.com/ocornut/imgui下载imgui的源码:

在自己的工作目录中新建一个ImGui文件夹;

将箭头所指文件放入ImGui文件夹中,

打开backends,将箭头所指文件放到ImGui文件夹中,?

?六. 最终CMakeLists.txt的编写

cmake_minimum_required(VERSION 3.10)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 14)
project(Model_set)
include_directories(/usr/local/include ./include)
find_package(glfw3 REQUIRED)
find_package(assimp REQUIRED)
file(GLOB project_file glad.c Model_set.cpp)
add_executable(${PROJECT_NAME} ${project_file}
        ImGui/imgui.cpp
        ImGui/imgui_demo.cpp
        ImGui/imgui_draw.cpp
        ImGui/imgui_impl_glfw.cpp
        ImGui/imgui_impl_opengl3.cpp
        ImGui/imgui_tables.cpp
        ImGui/imgui_widgets.cpp
)

target_link_libraries(${PROJECT_NAME}
    -lglfw
    -lGL
    -lm
    -lXrandr
    -lXi
    -lX11
    -lXxf86vm
    -lpthread
    -ldl
    -lXinerama
    -lXcursor
    -lassimp
    )

project(Model_set)是我们的工程名,即最终的Model_set.out 文件;Model_set.cpp 文件是我们的main.cpp。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:32:27  更:2022-07-03 10:35:07 
 
开发: 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年5日历 -2024/5/12 16:59:40-

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