インストール

English

前提条件

CrystalとShardsが必要です。UIngはCrystalの最新版で継続的にテストされています。

アプリケーションのshard.ymlにUIngを追加します。


dependencies:
  uing:
    github: kojix2/uing

依存関係をインストールします。


shards install

インストール後のスクリプトが、現在のプラットフォームに対応するlibui-ngライブラリを kojix2/libui-ngのリリースから ダウンロードします。UIngは対応プラットフォーム向けに保守されたパッチ適用版を使用します。 パッチの詳細はlibui-ngの devブランチで確認できます。

プラットフォームごとの注意事項

Linux

アプリケーションをビルドする前にGTK 3の開発パッケージをインストールしてください。 パッケージ名はディストリビューションによって異なります。DebianとUbuntuでは libgtk-3-devです。


sudo apt install libgtk-3-dev

配布先にもGTK 3のランタイムが必要です。

macOS

ネイティブGUIの依存関係には、システムのAppKitフレームワークを使用します。 Intel MacとApple Siliconの両方に対応しています。

Windows

UIngはMSVC、MinGW64、UCRT64に対応しています。Crystalと同じツールチェーンを使います。 MSVCではDeveloper PowerShellなどの開発者シェル、MinGW64とUCRT64では対応するMSYS2 シェルから実行してください。

インストール後のスクリプトは、MSVC用の/MD版と/MT版を両方ダウンロードします。 通常のCrystalビルドでは/MD、--staticを指定したビルドでは/MTが使われます。

コンソールウィンドウを表示しない

WindowsでビルドしたGUI実行ファイルは、コンソールウィンドウを開く場合があります。 配布用の実行ファイルではWindows GUIサブシステムを指定します。

MinGW64またはUCRT64:


crystal build app.cr --link-flags "-mwindows"

MSVC:


crystal build app.cr --link-flags=/SUBSYSTEM:WINDOWS

インストールを確認する

hello.crを作成します。


require "uing"

UIng.init

window = UIng::Window.new("Hello World", 300, 200)
window.on_closing do
  UIng.quit
  true
end

window.child = UIng::Label.new("Hello from UIng")
window.show

UIng.main
UIng.uninit

次のコマンドで実行します。


crystal run hello.cr

「Hello World」というタイトルのネイティブウィンドウが開けば成功です。 最初のアプリケーションへ進み、ボタンとイベントを扱ってみましょう。