mieki256's diary



2026/03/04(水) [n年前の日記]

#3 [nim] Nimでnglfwを使う

OpenGLを利用する際はウインドウの生成その他の処理を別の何かで行うけれど、GLUT、freeglut、GLFW 等を利用する場合が多い。ただ、それらの .dll が別途必要になると言われることも多く…。

NimでGLFWを使いつつ、exeファイル1つの中に GLFW まで含めてしまうことができる、nglfw というライブラリがあるらしい。

_RowDaBoat/nglfw: Statically linked GLFW 3.x for Nim

GLFWのソース自体を一緒にビルドしてしまうことで、DLLの添付を不要にするらしい。気になったので試用してみた。環境は Windows11 x64 25H2 + Nim 2.2. 64bit。

インストール :

インストールは以下だろうか。githubのURLを指定すればインストールできる模様。
nimble install https://github.com/RowDaBoat/nglfw

ちなみに、git clone や zip のダウンロードでは、nglfw/src/glfw の中身が空になってしまうので、利用するにはもう一手間が必要。

_nglfw/src at master - RowDaBoat/nglfw

件のディレクトリは github上の特定のプロジェクト ―― この場合はGLFWのリポジトリへのリンクを示す機能を使っているので、ただダウンロードしただけでは中身が空になってしまうらしい。nimble install ならリンクを辿って入手してくれるっぽい。

サンプルをビルド :

以下にサンプルがある。

_nglfw/examples at master - RowDaBoat/nglfw

helloclear_OpenGL.nim をビルドしてみた。

_nglfw/examples/helloclear_OpenGL.nim at master - RowDaBoat/nglfw

nim c -d:release helloclear_OpenGL.nim

生成された helloclear_OpenGL.exe を実行してみたら真っ赤なウインドウが表示された。ESCキーで終了することもできた。

ファイルサイズは585KB。小さ過ぎないか…? DLLが別途必要なのでは…?

Dependencies 1.11.1 x64 で .exe を調べてみたら、GLFW.dll 等は要求されていなかった。

_lucasg/Dependencies: A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues.

たしかに、GLFWを使いつつ、exeファイル1つで済みそう。

以上です。

過去ログ表示

Prev - 2026/03 -
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project