/dear_bindings_build

ImGui: Simple dear_bindings build project

Primary LanguageCMIT LicenseMIT

Dear_Bindings_Build

This project aims to simply and easily build ImGui examples with C language and Zig language using Dear_Bindings as first step.

ImGui version 1.90.8 (2024/06)

Prerequisites


  • Windows10 OS
  • GCC (or Clang or 'Zig cc' compiler)
  • Use Zig: 0.12.0 (zig cc: clang version 17.0.6)
  • Zig 0.13.0 ? (Compiling is ok so far)
  • Pyhton3
  • MSys/MinGW basic commands (make, rm, cp ...)

Build and run


  1. Download this project.

    git clone --recurse-submodules https://github.com/dinau/dear_bindings_build
  2. Go to one of the examples folder,

    cd dear_bindings_build/examples/glfw_opengl3
  3. Build and Run

    make run                

Examples screen shots


Language GLFW SDL2 SDL3
C lang. glfw_opengl3 sdl2_opengl3 sdl3_opengl3
Zig lang. zig_glfw_opengl3 zig_sdl2_opengl3 zig_sdl3_opengl3

alt


Language GLFW
C lang. glfw_opengl3_jp

alt


Language GLFW
C lang. glfw_opengl3_image_load
Zig lang. zig_glfw_opengl3_image_load

alt


Language GLFW
C lang. glfw_opengl3_image_save
Zig lang. zig_glfw_opengl3_image_load

alt
Image file captured would be saved in current folder.
Image can be saved as JPEG / PNG / BMP / TGA file.

Hiding console window


  • Zig lang. examples
    Open build.zig in each example folder and enable option line as follows,

    ... snip ...
    exe.subsystem = .Windows;  // Hide console window
    ... snip ...

    and execute make.

  • C lang. examples
    Open Makefile in each example folder and change option as follows,

    ... snip ...
    HIDE_CONSOLE_WINDOW = true
    ... snip ...

    and execute make.

Regenarate ImGui bindings


For instance,

pwd 
glfw_opengl3
make cleanall
make gen
make run

Note: Except Zig lang. examples.

Artifacts are generated into ../libs/cimgui folder.

Build with Clang, Zig cc


For instance,

pwd 
glfw_opengl3
make cleanobjs   
make TC=clang    # or TC=zigcc

Compiling with TC=zigcc may link dynamic library at this time.

Note: Except Zig lang. examples.

SDL


My tools version


  • clang version 18.1.6
  • gcc.exe (Rev2, Built by MSYS2 project) 13.2.0
  • git version 2.41.0.windows.3
  • make: GNU Make 4.3
  • Python 3.12.3
  • zig: 0.12.0 (zig cc: clang version 17.0.6)
  • SDL2 ver.2.30.3
  • SDL3 2024-06-02

Similar project


Language Project
Nim Imguin, Nimgl_test, Nim_implot
Lua LuaJITImGui
Python DearPyGui for 32bit WindowsOS Binary