【Rust を学ぶ】GUIプログラムを動かしてみる
今回は、RustでGUIなプログラムを動かしてみます。
動かす、と言っても作るわけではなく、既にWebにあるサンプルコードを使ってみることにします。
Rust は GUI を動かすパッケージ(クレート?)として tetra というものがあるみたいです。
このページの右上のGitHubと書かれたボタンから、tetraさんが公開している github ページ(下記)に飛べる で、そこのリポジトリをクローンかローカルにダウンロードします。
このプロジェクトフォルダには色々なサンプルが入っているそうで、cargo run --example ****(**** には指定のファイル名)
を入れるとサンプルコードを実行することができるようです。
早速cmd等からディレクトリをこのフォルダに移動し、cargo run --example hello_world
をしてみると。。。
error: linking with `link.exe` failed: exit code: 1181 ~長い文字列が出てきたので省力~ error: aborting due to previous error error: could not compile `tetra`
と出てきてビルドできませんでした。
先ほど上に載せた公式のページを読んでみると Doc の Installation に、SDL なるものが必要と書いてあります。(LinuxだとALSAというものも必要のようです)
なので、このページで紹介されているSDLのサイトにいってSDLをダウンロードします。
ダウンロードするのは、Development Libraries: の項目にあるもの。Windows用は2種類あってどちらを選べばいいかよく分からないので(笑)とりあえずSDL2-devel-2.0.14-VC.zip (Visual C++ 32/64-bit)
をダウンロードしてみます。
クリックすると、zipファイルでダウンロードされるので、解凍してフォルダをまで移動すると、そのフォルダにSDL2.lib
とSDL2.dll
があるかと思います。
このフォルダを先ほど tetra のgithub から持ってきたプロジェクトフォルダの中(Cargo.tomlがあるフォルダと同じ所)に置き、再度cargo run --example
SDL2-2.0.x/lib/x64hello_world
をしてみると。。。
無事実行でき、青い背景のウインドウが出てきました!
まだサンプルが実行できたというだけですが、これを元に色々開発が進められそうです
※補足
SDL をダウンロードする所で、SDL2-devel-2.0.14-mingw.tar.gz (MinGW 32/64-bit)
の方もダウンロードしてみましたが、こちらは公式ページにあるようなフォルダ構成になっておらず、SDL2-2.0.x/lib/x64
なんて無いわけですが、どうすれば良いんだろ?