最新のIMGUI/CIMGUIバージョンに更新:: V1.91.6Dock (2024/12)
このプロジェクトは、NIM言語、Imgui、Implot、Futharkなどを使用する私の実験プロジェクトです。
NIM-2.0.14以降
Windows10以降
MSYS2/MINGWコマンドラインツール(UNIXツール)、make、cp、rm、git、...など
Linux Mint 22(またはubuntu / debianファミリー)
$ sudo apt install gcc g++ make git $ sudo apt install xorg-dev libopengl-dev libgl1-mesa-dev
$ sudo apt install libglfw3 libglfw3-dev libsdl2-devnimble uninstall imguin # Remove old versions if exists.
nimble install https://github.com/dinau/imguinこのプロジェクトを最初にクローンする、
git clone https://github.com/dinau/imguinサンプルプログラムはこちらです。たとえば、glfw_opengl3_base.nim、
cd imguin/examples/glfw_opengl3_base
make # or make runビルド後、run ./glfw_opengl3_base(.exe)
コンパイションオプションは./config.nimsと./Makefileに依存します。
静的リンクまたは動的リンクを選択するには、この例/readme.mdをお読みください。
| ライブラリ名 | ||
|---|---|---|
| v | imgui / cimgui | ベースライブラリ |
| v | インプロット / cimplot | |
| v | imnodes / cimnodes | |
| v | imguizmo / cimguizmo | |
| v | Imgui-Knobs/ Cimgui-Knobs | |
| v | imguifileedialog / cimguifiledialog | |
| ... | ... | ... |
| x | imguicolortextedit / cimcte | 2025? |
| glfw | SDL2 | SDL3 | ||
|---|---|---|---|---|
| opengl3 バックエンド | v | v | v | |
| SDL2 バックエンド | - | ? | - | 2025? |
| SDL3 バックエンド | - | - | ? | 2025? |
これらのスクリーンショットはWindows10にあります。
アイコンフォントを使用した基本的な例

建てる
pwd
examples/glfw_opengl3
make # or make runまたは
nim c glfw_opengl3.nim # or nim c -r glfw_opengl3.nim or nim r glfw_opengl3.nim https://github.com/altschuler/imgui-knobs
Cimgui-Knobsのソースは、System64MC / PR(2024/12)から寄与されています。ありがとう。

建てる
pwd
examples/glfw_opengl3_imknobs
make または
nim c -d:ImKnobsEnable --warning:HoleEnumConv:off glfw_opengl3_imknobs.nim imguifileedialog / cimguifiledialog

建てる
pwd
examples/glfw_opengl3_filedialog
make または
nim c -d:ImGuiFileDialogEnable glfw_opengl3_filedialog.nim アイコンフォントビューアーと拡大ガラス

建てる
pwd
examples/iconFontViewer
make または
nim c iconFontViewer.nim 画像荷重と拡大ガラス

建てる
pwd
examples/glfw_opengl3_image_load
make または
nim c glfw_opengl3_image_load.nim SDL2バージョンを構築します
pwd
examples/sdl2_opengl3
make または
nim c -d:SDL sdl2_opengl3.nim SDL3バージョンを構築します
現時点ではWindows OSのみとWIP。
pwd
examples/sdl3_opengl3
make または
nim c -d:SDL sdl3_opengl3.nim 画像の負荷 /保存と拡大ガラス
[JPG、BMP、PNG、またはTGA]ファイルとしてスクリーンショットを保存できます。

建てる
pwd
examples/glfw_opengl3_image_save
make # or make runまたは
nim c glfw_opengl3_image_save.nim地元の国の言語でUTF-8テキストと入力テキストを表示します。 
建てる
pwd
examples/glfw_opengl3_jp
make # or make runまたは
nim c glfw_opengl3_jp.nim Imguiデモを表示するImguiデモを表示します。 
建てる
pwd
examples/glfw_opengl3_implot
make # or make runまたは
nim c -d:ImPlotEnable glfw_opengl3_implot.nim
建てる
pwd
examples/glfw_opengl3_imnodes
make # or make runまたは
nim c -d:ImNodesEnable glfw_opengl3_imnodes.nim
建てる
pwd
examples/glfw_opengl3_imguizmo
make # or make runまたは
nim c -d:ImGuizmoEnable glfw_opengl3_imguizmo.nim
見る:
Windowsへのクロスコンピレーション、リンカーエラー(認識されていないオプション '-Z'
https://nim-lang.org/docs/nimc.html#crossminuscompilation-for-windows
たとえば、Linux Mint 22などで
pwd
examples
cd glfw_opengl3make win または
nim c -d:mingw glfw_opengl3または
nim c --os:windows glfw_opengl3 glfw_opengl3.exe現在のフォルダーで生成されます。
gitインストール。
MSYS2/MINGWコマンドラインツール(UNIXツール)、MAKE、CP、RM、...などのインストール
Windows10以降のClang/LLVMは、Futharkのインストールを参照してください。
nimble install futharkライブラリパス( c:llvmlibなど)にlibclang.aファイルが存在する必要があります。
Linux debian 12 bookworm
sudo apt install clang-16
nimble install --passL: " -L/usr/lib/llvm-16/lib " futhark重要な通知:Futharkバージョンはこの時点でV0.13.6であることを確認してください。 (2024/09)
nimble dump futhark
name: " futhark "
version: " 0.13.6 "
author: " PMunch "
desc: " A package which uses libclang to parse C headers into Nim files for easy interop "
license: " MIT "
...開発フォルダーを作成します
最初にあなたが好きな作業フォルダーに移動します
mkdir imguin_dev
cd imguin_dev
git clone https://github.com/dinau/imguin
cd imguinクローンimgui/cimguiなどは、すぐに一度にソースを送信します
pwd
imguin
make clonelibsクローン化されたライブラリは../libs/フォルダーの下にあります
各ライブラリフォルダーのGit Pullまたはfetchコマンドを使用してソースを再帰的に更新し、
../libs/cimgui
../libs/cimguizmo
../libs/cimnodes
../libs/cimplot
それぞれのフォルダーにgitコマンドを備えたarbitraryバージョンをチェックアウト
Clangを指定してimguin/src/imguin/cimgui.nimのClangIncludePathへのパスを含めます。
定義ファイルを生成しますuisng futhark、
pwd
imguin
make gen更新されたファイルをインストールしますimguin.nimbleファイルでバージョン情報などを適切に編集し、次に
pwd
imguin
nimble uninstall imguin # Remove old versions if it exists.
nimble install それだけです。
3.から繰り返します。他のバージョンを更新またはダウングレードしたい場合。
確認されたバージョン
| imgui/cimgui ver。 | imguin ver。 | 日付 | Windowsos | Linuxミント22 | デビアン bookworm(1) |
|---|---|---|---|---|---|
| 1.91.6dock | 1.91.6.6 | 2024/12 | わかりました | わかりました | - |
| 1.91.5dock | - | - | - | - | - |
| 1.91.4dock | 1.91.4.2 | 2024/12 | わかりました | わかりました | - |
| 1.91.3dock | 1.91.3.1 | 2024/10 | わかりました | (7) | - |
| 1.91.2ドック | 1.91.2.0 | 2024/10 | わかりました | (7) | - |
| 1.91.1Dock | 1.91.1.2 | 2024/09 | わかりました | (6) | - |
| 1.91.0dock | 1.91.0.0 | 2024/08 | わかりました | - | (7) |
| 1.90.4dock | 1.90.4.2 | 2024/02 | わかりました | - | OK(4) |
| 1.90.1ドック | 1.90.1.0 | 2024/01 | わかりました | - | ng/ok(1)(3)(4) |
| 1.89.9dock | 1.89.9.8 | 2023/12 | わかりました | - | ng/ok(1)(3)(4) |
(1):iMnodesおよびSDL2の例を除く。
(2):うまく機能しません。
(3):デバッグモードがコンパイルされている場合にのみうまく機能します。
(4):NIM-2.0.2を使用します
(5):Linuxでコンパイルできない理由がわかりません。
(6):OK:imnodesの例を除く
(7):現時点ではチェックされていません。
別のC/C ++コンパイラを使用できる場合があります。
Clang, vcc(Visual Studio C/C++) , zig cc
例/config.nims.commonで変数TC変更します。
cimgui.dllを使用できるかどうか? (今では静的リンクのみになります)nimble install imguin実行できるかどうか?WindowsosにMSYSコンソールでUPXをインストールし、
pacman -S mingw-w64-x86_64-upx圧縮exeファイルの場合、
pwd
examples
cd glfw_opengl3_implot
make upx Ultimate Packer for eXecutables
Copyright (C) 1996 - 2024
UPX 4.2.4 Markus Oberhumer, Laszlo Molnar & John Reiser May 9th 2024
File size Ratio Format Name
-------------------- ------ ----------- -----------
7117824 - > 1217024 17.10% win64/pe glfw_opengl3_implot.exe 減圧、
make dupx結果、
| GCC + UPX:GCC | Clang + Upx:Clang | MSVC(VCC) + UPX:MSVC | |
|---|---|---|---|
| GLFW_OPENGL3.EXE | 804 KB:2360 kb | 720 KB:2200 KB | 742 KB:2070 KB |
| GLFW_OPENGL3_IMPLOT.EXE | 1220 KB : 7120 KB | 940kb : 4200 kb | 945 KB : 3810 KB |
GCC:V14.2.0、Clang:V18.1.8、MSVC:2022
Windows11(メイン)
NIMコンパイラバージョン2.2.0
GCC(Rev1、MSYS2プロジェクトにより構築)14.2.0
pacman -S mingw-w64-ucrt-x86_64-gccClangバージョン19.1.6
pacman -S mingw-w64-ucrt-x86_64-clangVisual Studio C ++/C 2022
gitバージョン2.46.0.windows.1
SDL2.DLL:2.30.7
MAKE:GNUは4.4.1を作成します
MSYS2/MINGWツール
Linuxミント22
ファイルダイアログ
他の
GUI
グラフィカル
| 言語 | プロジェクト | |
|---|---|---|
| nim | コンパイラ | imguin、nimgl_test、nim_implot |
| ルア | スクリプト | luajitimgui |
| ジグ、c lang。 | コンパイラ | dear_bindings_build |
| ジグ | コンパイラ | Imguinz |
| ネルア | コンパイラ | neluaimgui |
| Python | スクリプト | 32ビットWindowsosバイナリのDearypygui |

| 言語 | プロジェクト | |
|---|---|---|
| nim | コンパイラ | nim-platformer/ sdl3_nim |
| ルアジット | スクリプト | luajit-platformer |
| ネルア | コンパイラ | nelua-platformer |
| ジグ | コンパイラ | zig-platformer |
error: assignment to ' char ** ' from incompatible pointer type ' const char * const* ' [-Wincompatible-pointer-types] type ConstCstring {. importc : const char *. } = cstring