2021/11/08

卒業研究にまつわるエキセトラ

卒業研究では、nimという言語でGTKアプリケーションを作っている。

今まではMsys2-UCRT64にGTK、nimとnimbleを入れ、ターミナルからビルドして動作確認していた。 しかし、nimのGTKバインディングgintroがマクロで生成されているようで可読性が悪い。 そのため、関数を探すのが面倒であてずっぽうで関数名を探すという最悪の事態になっている。 それでは効率が悪いことから、nimlspを使いたくなった。 github.com

nimlspをMsys上に導入するため、choosenimをMsysへ導入しようと試みたが、コンパイルエラーになる。

そこで、choosenimがWindows向けに提供するインストーラを導入してみたが、これではMingwも導入されてしまう。 Mingwが導入され、Nimのデフォルトコンパイラとなってしまうことのつらい点として、 choosenimのインストーラは全てをお膳立てしてくれるが故に、Msysの提供する依存関係の処理を自ら行わなくならない点である。 choosenimのMingwを採用した場合、Msys側のライブラリをコピーするなどして、対応しなくてはならなくなってしまう。 しかし、この方法はMsysのように依存関係を自動的に処理し、dllや.aをよしなにしてくれる訳ではないので、GTKが依存するライブラリを探し当てて、対象となるファイル全てを手動でコピーしなくてはならないのである。

どうしたものか…………。ValaやPython、Rustで書くべきなのか…………?