Rustでクリエイティブコーディング断念のお話

概要:Rustでクリエイティブコーディング断念のお話

意気揚々と環境構築して、さあクリエイティブコーディングと始めたのですが問題が発生しました。
今まで何度もn97という謎チップの4コアマシン、問題なく使えますと言ってきましたが、ここにきて物理的な困難に阻まれました。

Processingの真似事

nannou.cc

これを使ってProcessingの真似事をしようとしていました。
nannouにはまったく問題ないのですが、build後に作成した画像を表示する段階でwindowが開きません。
wsl2からwindowsへの受け渡し?が出来ないらしく、以前からGUIアプリが動作させられないなどの問題があったらしいです。

すでにWSLgで解決済み

後にあげるリンク先の内容からもわかるように、wslでGUIアプリが動作させられない問題はすでに解決されているようです。

それがWSLgという仕組みです。

n97未対応

以下のリンク先を確認しますと、n97プロセッサーは残念ながら未対応でした。
WSLgの動作に必要なドライバに置き換えられないからのようです。
2コアのCeleronでも対応していますが、n97はだめでした。

learn.microsoft.com

www.intel.com

VcXsrv ユーティリティ

wslでGUIアプリが動作させられない、この問題を回避できるユーティリティが存在していますが、これが自環境問題も解決してくれるか判断しかねるので、ここはあっさりと試していません。

今後は?

自環境でもwsl2は動作していましてWSLgの存在も確認できましたが、動作させられないので仕方ありません。

Rustは乗りかかった舟なので、nannouでのクリエイティブコーディングはかないませんでしたが、WebAssemblyのほうへ向き直して学習は続けていこうと思います。

Rustはじめました WSL2にRustを入れてHello Worldまで

概要:Rustはじめました WSL2にRustを入れてHello Worldまで

システムプログラミング言語らしいので、通常では使うことはない、使えないけれど、クリエイティブコーディングができるそうなので、それ目的でしてみようかと。

Rustのインストール

これは公式ページのコマンドからインストールで間違いないです。
スルスルっとインストール完了します。

www.rust-lang.org

インストール出来たか確認します。
バージョンが表示されれば問題なし。

rustc --version //プロンプト省略、、、

Hello World

まずはこれから。

cargo new hello_world

上記のコマンドで、Rustプロジェクトを作成すれば、main.rsにそれっぽいのが用意してあります。
cargoはビルドシステムを兼ね備えたパッケージマネージャ。

それで、さっそくコンパイルと、、、

rustc ./src/main.rs

エラーです!
linker 'cc' not found

ccがない!!そうです。???

調べてみますと、C言語用のコンパイラーが必要ということらしいです。

Ubuntuに、build-essentialという、essential(不可欠)というぐらいなのがあるようで、これをインストールします。

sudo apt install build-essential

packages.ubuntu.com

気を取り直して、再コンパイルと。

プロジェクトのルートにmainという実行ファイルの出来上がりです。
実行します。

./main

無事にHello, world!と表示されました。

が、この方法は将来よくないことが起こりそうなので、、、

プロジェクトを作成する時に使用したcargoでビルドしていきます。

cargo build

そうしますと、今度は、

./target/debug/hello_world

という実行ファイルが作成されました。
これを実行しますと、無事にHello, world!と表示されました。

プロジェクトを作成しますと、もれなくgitもついてきます。
gitignoreを見ますと、targetが指定されていますので、これで実行ファイルがそのまま公開されるようなことは避けられます。

VSCode拡張機能

rust-analyzer(公式)というVSCode拡張機能があるそうで入れてみますが、、、
なんだかうまくいきません。
調べると同じような状況になっている方もいらっしゃるようで。

ふと、WSLを使う場合、VSCodelinuxにはなくて、Windowsに入れたんだよな???と思い出す。
今開いているRustプロジェクトもローカルで開いているし、なんか違う気がする。
Ubuntuから開けるには、、、 WSLと接続して、、、開きました!

これで拡張機能rust-analyzerをUbuntuにもインストール出来て、エラーが出なくなりました。
rust-analyzer、どういう時に便利なのかわかっていませんが、環境構築のひとつとして完了です。