.CMake的使用場景
CMake是一個開源的、跨平臺的工具,旨在構建、測試和打包軟件。CMake使用簡單的獨立于編譯器的配置文件來控制軟件編譯過程,它即可以在window環境使用,也可以在linux和mac環境使用。
二.CMake特點
三.為什么要做一系列cmake的課程
四.該系列環境
五.CMake學習資源
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/
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 第三方庫文件,用于矩形打包、文本編輯和字體渲染
下載網址 WinLibs - GCC+MinGW-w64 compiler for Windows
下載完成后將mingw64放到硬盤上的某個位置,例如D:\mingw64,然后把D:\mingw64 添加到系統的PATH變量中。
下載網址 https://cmake.org/download/
可以直接下載安裝程序,省事
也可以下載ZIP文件并解壓到硬盤里,例如D:\cmake-3.29.3-windows-x86_64,然后把D:\cmake-3.29.3-windows-x86_64\bin添加到系統的PATH變量里。
下載地址 https://github.com/glfw/glfw/releases 或 https://www.glfw.org/download.html 我使用的是glfw-3.4.bin.WIN64.zip
下載地址 https://github.com/ocornut/imgui ,下載
在D:\CMakeTest目錄里建立 imgui目錄
并在imgui目錄里建立lib 和 src 兩個目錄
把glfw-xx.bin.WIN64.zip壓縮包中的include 和 lib-mingw-w64 解壓到lib\glfw目錄中去
把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目錄里。
把imgui-x.xx.zip 壓縮包examples\example_glfw_opengl3里的 main.cpp文件復制到D:\CMakeTest\imgui\src目錄里。
文件內容如下 :
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) # 鏈接庫文件
cmake -
S . -B ./build -G “MinGW Makefiles”
cmake --build ./build
進入build目錄,雙擊imimguitest.exe 運行測試即可