GTKをWindows向けにVisualStudioでビルド(GTKで遊ぶ第1回)

需要は少ないと思いますがタイトルの通りです。

Sratch等のビジュアルプログラミング環境やPythonのように本格的だけど学びやすいとされる言語もありますがC言語は結局今もプログラミング入門のスタンダードのひとつ。
中高生になって、プログラミングだけでなくコンピュータそのものに興味が持てたら学ぶべき言語の有力な一選択肢だと思うのです。

とはいえ、C言語がおすすめされない理由もよくわかります。

  • GUIアプリケーションを作りづらい。
  • WEBがらみでも使いづらい。
  • ポインタが難しい。
  • 簡単便利なフレームワークがない。
  • ライブラリを使いたくてもリンクとは?ヘッダファイルって何?インタフェースってどういうこと?等々難しく感じる。

ひとつでもなんとかならないかしら。
C言語のインタフェースがあるGTKはどうかな。
ということでひとまずVisualStudio環境で使えるようにビルドしてみたくなったのでした。

以上が経緯。

GTKはオープンソースのGUIツールキット。
C言語で直接叩けるAPIを持っています。
プログラミング初心者で、とりあえずC言語の入門書を1冊終えたぞ、という人は試してみるといいのでは?
2020年11月24日現在の記録。

(1)gtk公式サイトに探しに行く

The GTK Project - A free and open-source cross-platform widget toolkit
GTK is a free and open-source cross-platform widget toolkit for creating graphical user interfaces.

上記のページから「Downloads」→「Windows」をクリックする。

「Setting up GTK for Windows」ていうページに行くのでそこから「gvsbuild」のリンクをクリックしてgithubへとぶ。

(2)githubのサイトでクローンする

緑色の「Code」とかいうボタンをクリックして「Download ZIP」をクリックする。

(3)展開してREADME.mdを読む

ダウンロードされたZIPは右クリックしてすべて展開する。

中にREADME.mdファイルがあるのでテキストエディタで開いて読む。

(4)ツールをそろえる

インストールしたいなら次のツールをそろえろと書いてあるから従う。

  • VisualStudio2013か2015か2017か2019
  • msys2
  • Python 3.6(C:\Python3.6 にインストールしとけ)か、Miniconda 3

■VisualStudio 2019はここ

Download Visual Studio Tools - Install Free for Windows, Mac, Linux
Download Visual Studio IDE or VS Code for free. Try out Visual Studio Professional or Enterprise editions on Windows, Ma...

下記をクリックしてインストーラをダウンロード。
C/C++の開発環境をインストールしておいてください。

■msys2はここ

MSYS2
Software Distribution and Building Platform for Windows

下記をクリックしてインストーラをダウンロードしてインストールしておく。

■Python3.6はここ

Welcome to Python.org
The official home of the Python Programming Language

「Downloads」→「Windows」をクリック。

Python 3.6.8を探して「Windows x86-64 web-based installer」ていうインストーラを使うといいと思います。

ここで注意

README.mdには上記3つをインストールせよと書いてあるけど、実はgitも必要です。
インストールしていないとGTKのビルド時にコケます。
README.mdに書いておいてよねーと思うけどgitくらい入っていて当たり前という時代なのでしょう。

ここの「Downloads」からインストールして、コマンドプロンプトでgitコマンドを使えるようにしておいてください。

Git

(5)gtkのリポジトリを移動する

README.mdに従って、(3)で展開したフォルダを「C:\gtk-build\github\gvsbuild」のパスになるように移動する。

ここでもちょっと注意

展開した直後はフォルダ名が「gvsbuild-master」になってるのでこれを「gvsbuild」にリネームしてから移動する。
build.pyていうファイルが入っているのですが、このファイルが「C:\gtk-build\github\gvsbuild\build.py」になるように移動しないといけない。

(6)ロケールを英語圏にする

このままREADME.mdに従ってビルドすると、文字コードがらみでエラーになります。
回避策は下記GNOMEのサイトに載っていますがシステムのロケールを英語(US)とかにすればいいそうです。

Projects/GTK/Win32/MSVCCompilationOfGTKStack - GNOME Wiki!


この作業は最後にシステムを再起動します。
他の作業をしている方は保存すべきものは保存しておいてください。

えーと、Windowsのスタートボタンをクリックして「コントロールパネル」って打ち込んでコントロールパネルを開きます。

コントロールパネルで「時計と地域」をクリック

「地域」をクリック

地域ダイアログが出たら「管理」タブの「システムロケールの変更」ボタンをクリック

現在のシステムロケールを「英語(米国)」に変更

システムの再起動を求められるので再起動する。

(7)GTKをビルド

コマンドプロンプトを立ち上げて下記のようにしてgvsbuildのディレクトリに移動した後GTKをビルドする。

> cd C:\gtk-build\github\gvsbuild\
> python .\build.py build -p x64 --vs-ver 16 gtk3

当然ですけど時間がかかります。

当然ですけど時間がかかります。お茶でも飲んでお待ちください。

・・・

これでC:\gtk-build\gtk\x64\release\libに「gtk-3.0.lib」が出来上がっていれば完了。

お疲れさまでした。
システムロケールを日本語に戻して再起動しておいたほうがいいですね。お忘れなく。

ここまできてやっとGTKが使えるようになったので、実際のGTKプログラミングはここからスタートなのですが、正直なところ、このスタートラインに立てたあたりで結構満足します。

ここまでくるのに無数のエラーに遭遇して、それらをやっつけて、やっとここまでたどり着くのが普通です。

だから達成感が味わえます。

生徒さんにもそういう喜びを知ってほしいなと常々思っています。

タイトルとURLをコピーしました