2020-08-21

【備忘録】Vala と MinGW

前回のブログ記事では、Linux 上の MinGW64 クロスコンパイル環境で Vala のプログラムをコンパイルして Wine で動作確認をしました。Windows 上の MSYS2 でも Vala を利用することができます。今回は Windows 上の MSYS2 の環境で、同じ Vala のプログラムをコンパイルする例を紹介します。ただし、Meson を使いこなせておらず、Windows のリソースをうまく扱えなかったので、直接コマンドを実行してビルドしています。

使用した OS 環境は下記の通りです。

Windows 10 Home (x64) 1909, 18363.1016
msys2-x86_64-20200720.exe
» mingw-w64-x86_64-toolchain
» mingw-w64-x86_64-gtk3-3.24.20-3
» mingw-w64-x86_64-vala 0.48.8-1

Vala の電卓プログラム

今回も github にある下記の Vala の電卓プログラムをサンプルとして使用します。

具体的には次のようにしてクローンし、クローンしたディレクトリ vala-calculator で作業をすることにします。

$ git clone https://github.com/bitwalk123/vala-calculator.git
...
...
$ ls
calc.ico  data     meson.build  README.md
calc.rc   LICENSE  mingw64.ini  vala-calculator.vala
$ cd vala-calculator

次のように、まずリソースファイルを windres でコンパイルしてから、valac でコンパイルする際に -X オプションでコンパイルした calc.o を渡します。また、-mwindows オプションを加えて、バイナリの実行時にコンソールのウィンドウが表示されないようにします。なお、-lm は数学ライブラリへのリンクです。

$ windres calc.rc calc.o
$ valac --pkg gtk+-3.0 -X -lm -X -mwindows -X calc.o vala-calculator.vala

コンパイルすると、アイコン calc.ico と同じ柄の vala-calculator.exe が生成されます。

ビルド後のファイル(エクスプローラ)

vala-calculator.exe をダブルクリックして起動することを確認します。

vala-calculator.exe の実行例

同じことを、クロスコンパイル環境でできないか確認中です。

参考サイト

  1. MSYS2

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: