wxGo   Windows へのインストール

ホーム   Goチュートリアル

Windows へのインストール


この章では、wxGo を Windows へインストールする方法を説明しています。

macOS へのインストールは、はじめの一歩をご覧ください。


MinGW のインストール

wxGo を使うためには、g++ の開発環境がインストールされている必要があります。

Windows に g++ をインストールするには、いろいろな方法がありますが、ここでは MinGW(Minimalist GNU for Windows)を使います。

次のサイトから MingW-W64-builds と Msys2 をダウンロードします。

Downloads [mingw-w64]

ダウンロードした mingw-w64-install.exe を実行します。Settings 画面が表示されたら次の図のように設定してください。

インストールする場所はデフォルトのままにしてください。


MSysのインストール

次にmsys2-x86-64-20190524.exe を実行します。

インストールする場所はデフォルトのままにしてください。

インストール後、自動で MSys のコンソールが表示されますが、一旦閉じてください。

スタートメニュー → すべてのプログラム → MSYS2 64ibt → MSYS2 minGW 64-bit で、MSys 64bit のコンソールを開き直して、次のコードを実行します。


g++ --version
bash: g++: コマンドが見つかりません

update-core
// もしアップデートがあった場合は、コンソールを一度閉じて、もう一度開いて、次のコードを実行
pacman -Su

// アップデートの有無に関係なく、次のコードを実行
pacman -S mingw-w64-x86_64-toolchain
選択して下さい (デフォルト=all): // エンターキーを押す

g++ --version
g++.exe (Rev2, Built by MSYS2 project) 8.3.0
・・・
    


Go のインストール

Linux と Windows で wxGo を使う場合は、Go のバージョンが問題になります。Go のバージョンが 1.9.4 以上の場合は、wxGo をインストールしようとすると「無効なフラグ」というエラーが出ます。その回避法はオフィシャルページにいろいろと書かれていますが、私の場合は、どの方法も上手くいきませんでした。

以上の理由により、ここでは、Go 1.9.3 をインストールします。

次のコードで、Go がすでにインストールされているかどうか確認して、違うバージョンの Go がインストールされている場合は、その Go を削除してください。


go version
bash: go: コマンドが見つかりません
    

次のサイトから go 1.9.3 をダウンロードします。

Donwnloads - The Go Programming Language - Golang

一番下までスクロールして、Archived Versions をクリック

go1.9.3をクリック

go1.9.3.windows-amd64.msi をクリックしてダウンロードします。

ダウンロードした go1.9.3.windows-amd64.msi を実行します。インストールする場所は、C:¥msys64¥usr¥local¥ にします。

インストール後、MSys2 64bit のコンソールを起動して、go のバージョンを確認してください。


go version
go version go1.9.3 windows/amd64
    


wxGo のインストール

wxGo をインストールするために Git が必要です。MSys 64bit コンソールに次のように入力して、Git をインストールします。


pacman -S git
    

次に、wxGo をインストールします。MSys 64bit コンソールに次のように入力して、インストールしてください。


go get -x github.com/dontpanic92/wxGo/wx
    

インストールが終わるまでしばらく時間がかかります。


はじめの一歩

次のコードをお好きなエディタで記述して保存してください。保存する場所は、C:¥msys64¥home¥あなたのユーザー名¥ です。


main.go


package main

import "github.com/dontpanic92/wxGo/wx"

func main() {
	app 	:= wx.NewApp()
	frame	:= wx.NewFrame(wx.NullWindow, wx.ID_ANY, "Hello wxGo")
	frame	.Show()
	app	.MainLoop()
}
	


実行方法

MSys 64bit コンソールを起動すると、C:¥msys64¥home¥あなたのユーザー名¥ ディレクトリが表示されます。そのまま、次のコードで実行してください。


go run main.go
	


実行結果

実行結果が表示されるのに、少し時間がかかります。


ウィンドウを閉じるとアプリケーションは終了します。

ウィンドウのデフォルトサイズは、プラットフォームによって違うみたいです。多くの場合、横 400 ピクセル、縦 500 ピクセルぐらいになる場合が多いみたいです。コードを次のように変更すると、ウィンドウのサイズを変更できます。


	frame	:= wx.NewFrame(wx.NullWindow, wx.ID_ANY, "Hello wxGo")
        ↓
	frame	:= wx.NewFrame(wx.NullWindow, wx.ID_ANY, "Hello wxGo", wx.DefaultPosition, wx.NewSize(400, 250))
	


コード説明


package main
    

Go のソースコードはパッケージ単位で管理します。特に意図がない限りは、最初のパッケージは main にします。


import "github.com/dontpanic92/wxGo/wx"
    

wxGo のパッケージを読み込んでいます。これによって、wxWidgets の関数などが使えるようになります。


func main() {
    

多くのプログラミング言語と同様に、Go のプログラムも main 関数から始まる決まりになっています。


	app 	:= wx.NewApp()
	

アプリケーションを作って起動します。


	frame	:= wx.NewFrame(wx.NullWindow, wx.ID_ANY, "Hello wxGo")
	
フレームを作っています。フレームとは、ウィンドウのことです。第1引数にフレームが所属するウィンドウ、第2引数にフレームの ID、第3引数にフレームに表示される文字列を指定します。

フレームじたいが、ウィンドウなので、どのウィンドウにも所属していないことをあらわす wx.NullWindow を第1引数に指定しています。第2引数に、wx.ID_ANY を指定すると一意の整数が与えられます。wx.ID_ANY の替わりに -1 と記述しても一意の整数が得られます。


	frame   .Show()
	

フレームは、作っただけでは表示されません。Show メソッドで表示されるようにします。


	app     .MainLoop()
	

アプリケーションの MainLoop メソッドを呼び出すことで、アプリケーションが継続的に起動し続けるようになります。もし MainLoop メソッドを呼び出さない場合は、アプリケーションは一瞬で終わります。


459045 visits
Posted: Jul. 25, 2019
Update: Jul. 28, 2019

ホーム   Goチュートリアル   目次