使用CMake 和 MinGW64建立 ImGUI项目

使用CMake 和 MinGW64建立 ImGUI项目一、ImGui简介Dear ImGui 是一个适用于 C++ 的无膨胀图形用户界面库。Dear ImGui 旨在实现快速迭代,并使程序员能够创建

大家好,欢迎来到IT知识分享网。

一、ImGui简介

Dear ImGui 是一个适用于 C++ 的无膨胀图形用户界面库

Dear ImGui 旨在实现快速迭代,并使程序员能够创建内容创建工具和可视化/调试工具(而不是面向普通最终用户的 UI)。

ImGUI自身不能创建窗口,需要使用Win32API或glfw或SDL等工具来创建窗口,另外需要使用OpenGL或DirectX、vulkan用于渲染图形等,glfw、OpenGL等均被称为后端(backends)

glfw负责创建窗口对象,处理用户输入等
OpenGL负责绘制图形,设置着色器,更新uniform变量等
imgui负责创建和渲染GUI元素,如文本,按钮,颜色选择器等
ImGui的使用方法很简单,只需要将ImGui的源码文件添加到自己的项目中,然后选择一个合适的后端(例如glfw或SDL,OpenGL或DirectX),就可以开始绘制各种控件和窗口了。

下载地址为 https://github.com/ocornut/imgui

二、ImGUI目录结构

ImGui的目录结构如下:
imgui/
backends 后端文件夹,包含了不同平台和渲染器的实现代码
examples 示例文件夹,包含了各种使用ImGui的示例程序
misc 杂项文件夹,包含了一些辅助工具和扩展模块
imconfig.h 配置文件,可以用来修改ImGui的一些默认设置
imgui.cpp/imgui.h ImGui的核心源码文件,必须添加到你的项目中
imgui_demo.cpp/imgui_demo.h ImGui的演示源码文件,包含了各种控件和窗口的示例代码
imgui_draw.cpp/imgui_draw.h ImGui的绘制源码文件,负责渲染各种图形元素
imgui_internal.h ImGui的内部头文件,包含了一些高级功能和实现细节
imgui_tables.cpp/imgui_tables.h ImGui的表格源码文件,提供了创建和管理表格的功能
imgui_widgets.cpp/imgui_widgets.h ImGui的控件源码文件,提供了创建和管理各种控件的功能
imstb_rectpack.h/imstb_textedit.h/imstb_truetype.h 第三方库文件,用于矩形打包、文本编辑和字体渲染

三、准备工作

3.1 安装编译器

下载网址 WinLibs – GCC+MinGW-w64 compiler for Windows

下载完成后将mingw64放到硬盘上的某个位置,例如D:\mingw64,然后把D:\mingw64 添加到系统的PATH变量中。

3.2 安装CMake

下载网址 https://cmake.org/download/

可以直接下载安装程序,省事

也可以下载ZIP文件并解压到硬盘里,例如D:\cmake-3.29.3-windows-x86_64,然后把D:\cmake-3.29.3-windows-x86_64\bin添加到系统的PATH变量里。

3.3 下载glfw

下载地址 https://github.com/glfw/glfw/releases 或 https://www.glfw.org/download.html 我使用的是glfw-3.4.bin.WIN64.zip

3.4 下载imgui

下载地址 https://github.com/ocornut/imgui ,下载

四、项目准备

4.1 项目目录

使用CMake 和 MinGW64建立 ImGUI项目

在D:\\CMakeTest目录里建立 imgui目录

并在imgui目录里建立lib 和 src 两个目录

4.2 复制glfw文件

把glfw-xx.bin.WIN64.zip压缩包中的include 和 lib-mingw-w64 解压到lib\glfw目录中去

使用CMake 和 MinGW64建立 ImGUI项目

4.3 复制 imgui 文件

4.3.1把imgui-x.xx.zip 压缩包中的.h .cpp文件解压到lib\imgui 目录中去

使用CMake 和 MinGW64建立 ImGUI项目

4.3.2 在lib\imgui目录中建立backend目录,

把imgui-x.xx.zip 压缩包backends里的

imgui_impl_glfw.h

imgui_impl_glfw.cpp

imgui_impl_opengl3

imgui_impl_opengl3

imgui_impl_opengl3

等5个文件复制到 lib\imgui\backends目录里。

使用CMake 和 MinGW64建立 ImGUI项目

4.4 复制示例文件

把imgui-x.xx.zip 压缩包examples\example_glfw_opengl3里的 main.cpp文件复制到D:\CMakeTest\imgui\src目录里。

使用CMake 和 MinGW64建立 ImGUI项目

4.5 建立CMakeLists.txt文件

文件内容如下 :

cmake_minimum_required(VERSION 3.10)

project(imguiTmpl)

set(CMAKE_CXX_STANDARD 11)

include_directories(lib//glfw//include

lib//imgui

lib//imgui//backends

)

link_directories(lib//glfw//lib-mingw-w64)

file(GLOB_RECURSE IMGUI_SRCS lib//imgui//*.cpp)

add_executable(imguiTest WIN32 src//main.cpp ${IMGUI_SRCS}) #添加WIN32参数就不会显示控制台界面了

target_link_libraries(imguiTest glfw3.a opengl32) # 链接库文件

五、构建编译

5.1 打开CMD命令窗口,并定位到d:\CmakeTest\Test1目录

5.2 配置并构建系统

cmake - S . -B ./build -G “MinGW Makefiles”

使用CMake 和 MinGW64建立 ImGUI项目

5.3 编译链接项目

cmake --build ./build

使用CMake 和 MinGW64建立 ImGUI项目

5.4 运行测试

进入build目录,双击imimguitest.exe 运行测试即可

使用CMake 和 MinGW64建立 ImGUI项目

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/77506.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信