Googleが公開している"GXUI"です。クロスプラットフォームを実現するためにOpenGLを利用しています。まだまだ開発途中のようですが、UIのクロスプラットフォームを実現する言語は少ないので、期待しています。
GXUI - A Go cross platform UI library.
https://github.com/google/gxui
OS X Yosemite
Macでは簡単です。
Goのインストール
go getコマンド時に、GitとMercurialも必要です。GOPATHはサンプルでは$HOMEを指定していますが、お好みの場所を指定してください。
$ brew install go
$ go version
go version go1.4.2 darwin/amd64
$ vim ~/.zshrc
export GOROOT=/usr/local/opt/go/libexec
export GOPATH=${HOME}
export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin
$ . ~/.zshrc
GXUIのセットアップ
$ cd $GOPATH
$ go get code.google.com/p/freetype-go/freetype
$ go get github.com/go-gl/gl/v3.2-core/gl
$ go get github.com/go-gl/glfw/v3.1/glfw
$ go get github.com/google/gxui
サンプルプロジェクトの実行(2015/3/26に更新されていました)
$ go install github.com/google/gxui/samples/...
Windows 8.2
13インチMacBook Pro RetinaにBootcampでインストールしたものです。Go言語はCygwinでの動作を保証されていないため、MinGW(64bit版)とMSYSをインストールしています。その際、以下のページを参考にさせて頂きました。
参考
WindowsにMinGWをインストールしてC/C++で開発(64bit版)MinGW (64bit) + MSYS 環境の構築 (1)
Windows に MinGW-w64 と MSYS を導入する
7-Zipのインストール
7-Zip/7z920-x64.zipをダウンロード&展開し、インストール
MinGW-w64のインストール
MinGW-w64 - for 32 and 64 bit Windows「Toolchains targetting Win64 / Personal Builds / mingw-builds / 4.9.2 / threads-posix / seh / x86_64-4.9.2-release-posix-seh-rt_v4-rev2.7z」をダウンロード。
展開して出来た「mingw64」を「C:\」に移動 (C:\mingw64)
環境変数に追加
コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > 環境変数システム環境変数 > Path を編集し、「C:\mingw64\bin」を追加
MSYSのインストール
MinGW-builds - Browse Files at SourceForge.net「external-binary-packages / msys+7za+wget+svn+git+mercurial+cvs-rev13.7z」をダウンロード
展開して出来た「msys」を「C:\mingw64」に移動 (C:\mingw64\msys)
環境変数に追加
コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > 環境変数システム環境変数 > Path を編集し、「C:\mingw64\msys\bin」を追加
git for windowsのインストール
Git for Windowsダウンロードした「Git-1.9.5-preview20150319.exe」を実行し、インストール
環境変数に追加
コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > 環境変数システム環境変数 > Path を編集し、「C:\Program Files (x86)\Git\bin」を追加
hgコマンドが必要なので、mercurialをダウンロード
Mercurial SCMダウンロードした「tortoisehg-3.3.2-x64.msi」 を実行し、インストール
環境変数は自動的に追加される
Goをインストール
The Go Programming LanguageBootcampなので、64bit Windows版をダウンロード
「go1.4.2.windows-amd64.zip」をダウンロードし、展開。
展開して出来た「go」を「C:\Go」として移動
環境変数に追加
コントロールパネル > システムとセキュリティ > システム > システムの詳細設定 > 環境変数システム環境変数 > Path を編集し、「C:\Go\bin」を追加
また、新規の環境変数を作成し、GOROOTに「C:\Go」を指定します。
$ go version
go version go1.4.2 windows/amd64
環境変数を変更しても、OSの再起動は不要です。ただし、既にMSYSを起動している場合には、MSYSを終了します。
MSYSの起動と設定
「C:\mingw64\msys\msys.bat」を起動MSYSのGitとMercurialのバージョンが古いのでリネーム
Git
$ mv /bin/git{,.OLD}
$ git --version
git version 1.9.5.msysgit.1
$ which git
/c/Program Files (x86)/Git/bin/git.exe
Mercurial
$ mv /bin/hg{,.OLD}
$ hg --version
Mercurial - 分散構成管理ツール(バージョン 3.3.2)
$ which hg
/c/Program Files (x86)/TortoiseHg/hg.exe
Goの環境設定
GOPATHはサンプルでは$HOMEを指定していますが、お好みの場所を指定してください。$ cd ~/
$ vim .profile
. ~/.bashrc
$ vim .bashrc
export GOPATH=$HOME
$ . .profile
GXUIのセットアップ
後は、Macと同じ手順です。$ cd $GOPATH
$ go get code.google.com/p/freetype-go/freetype
$ go get github.com/go-gl/gl/v3.2-core/gl
$ go get github.com/go-gl/glfw/v3.1/glfw
$ go get github.com/google/gxui
Cygwinの場合のエラー
$ go get github.com/go-gl/gl/v3.2-core/gl
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: -lmingwex が見つかりません
/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/../../../../x86_64-pc-cygwin/bin/ld: -lmingw32 が見つかりません
collect2: エラー: ld はステータス 1 で終了しました
同じエラーに遭遇している方もいるようです。Issue 7265 - go - Windows/cgo: cannot find -lmingwex & cannot find -lmingw32 - The Go Programming Language - Google Project Hosting
サンプルプロジェクトの実行(2015/3/26に更新されていました)
$ go install github.com/google/gxui/samples/...
実行結果の比較
OS X | Windows | |
---|---|---|
file_dlg | ||
image_viewer | ||
linear_layout | ||
lists | ||
panels | ||
polyedit | ||
polygon | ||
progress_bar | ||
tree |
0 コメント:
コメントを投稿