使用CMake 和 MinGW64建立 ImGUI项目

一、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),就可以开始绘制各种控件和窗口了。

下载地址为 GitHub - ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

二、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

下载网址 Download CMake

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

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

3.3 下载glfw

下载地址 Releases · glfw/glfw · GitHubDownload | GLFW 我使用的是glfw-3.4.bin.WIN64.zip


 

3.4 下载imgui

下载地址 GitHub - ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies ,下载

四、项目准备

4.1 项目目录

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

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

4.2 复制glfw文件

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



 

4.3 复制 imgui 文件

4.3.1把imgui-x.xx.zip 压缩包中的.h .cpp文件解压到lib\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目录里。



 

4.4 复制示例文件

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



 

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”

  


5.3 编译链接项目

cmake --build ./build

5.4 运行测试


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

感谢 ImGUI项目建立(cmake+MinGW64)_cmake imgui-CSDN博客

  • 13
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值