2012年8月26日日曜日

QtでGo言語をするための環境構築


こんにちは。scarvizです。

昨日はGo言語の勉強会に参加しました!
takagigさんが早速ブログを更新していますね!
http://kobegtug.blogspot.jp/2012/08/go-workshop-in-dojima-20120825.html


前回、Go言語の環境構築をした時に、QtでGo言語をする話をしていましたが、今回はその環境構築をしてみました。
※前回の話→ http://kobegtug.blogspot.jp/2012/08/ubuntugo.html

環境は前回と同じ、VMware PlayerのUbuntu12.04(x86)を使っています。
なので、Go言語の環境構築が出来ている前提になります。

今回の環境構築にあたり、下記のtitoi2さんのサイトを参考にしています。
http://barsoom.seesaa.net/article/282348861.html

また、QtでGo言語をするためにはvisualfcさんが作られているgo-uiライブラリを使用しました。
https://github.com/visualfc/go-ui




■QtSDKのインストール
まずはQtSDKをインストールします。
現在は「QtSDK 1.2.1」が最新だったので、これをインストールしました。

1.QtSDKを取得する
下記からインストーラーをダウンロードします。
http://qt.nokia.com/downloads-jp

僕の環境では『Linux/X11 32-bit』の『オフラインインストーラー』をダウンロードしました。



2.QtSDKをインストールする
①インストーラをダブルクリックし、起動します。



Nextボタンを押下してください。
すると、以下のような警告が出てきたと思います。
『You need a C++ compiler. Please install it using the System Package Management tools.』

もともとGCCコマンドは通るんですが、どうやらUbuntuだと、上記警告が出てくるようです。
詳しいことはよく分かりませんが、下記サイトのように
http://qteveloper.blogspot.jp/2012/05/install-c-compiler-on-ubuntu-linux-for.html
下記コマンドを実行する必要があるそうです。一回インストーラを閉じて、下記コマンドを実行してください。

 sudo apt-get install g++

もう一度インストーラを立ち上げ、Nextボタンを押下すると、今度は警告メッセージは出なくなってると思います。
※(2012/09/01)
 Ubuntu12.04(x86)の日本語Remixだと、うまくg++をインストールできませんでした。
 レポジトリが影響してる?Linux詳しい人教えて!


②インストール先を設定します。
デフォルトでは「/Home/(ユーザ名)/QtSDK」になっていると思います。
特に気にならなければこのままでもOKだと思います。僕はそのままにしました。
ちなみに、ここの『QtSDK』フォルダは自動で作成されます。




インストレーションタイプを選択するようになっていますが、Defaultのままで良いと思います。
Nextボタンを押下してください。


③ライセンス確認画面です。
よく読んでOKな場合は「I have read and agree」を選択し、Nextボタンを押下します。
※ダメだったらインストールできませんが・・・まあ、お約束ですね。



④Installボタンを押下すると、インストールが始まります。



⑤インストールが完了するまで待ちましょう。



⑥QtSDKのインストールが完了しました。



チェック項目はお好きなようにしてもらって、Finishボタンを押下します。
チェック項目をそのままにしていたなら、ブラウザが立ち上がって、ReadMeが表示されるのと、
QtCreatorが起動していると思います。




次はGo言語を使えるように設定していきましょう。
QtCreatorを終了させてください。
ちなみに、QtCreatorはインストール先の「/QtCreator/bin/qtcreator」になります。
ホームディレクトリのQtSDKにインストールした場合、下記を実行すればQtCreatorを起動できます。

 ~/QtSDK/QtCreator/bin/qtcreator


■go-uiライブラリ
visualfcさんが作られている「go-ui」ライブラリを使います。
ここからはtitoi2さんのサイトを見ながら設定していきます。

1.Qtのパスを通す
まずはQtのパスを通しましょう。
インストール先の「/Desktop/Qt/(Qtのバージョン)/gcc/bin」をPATHに追加します。
QtSDK 1.2.1をホームディレクトリの「QtSDK」にインストールした場合は、下記をPATHに追加します。
 ~/QtSDK/Desktop/Qt/4.8.1/gcc/bin

①profileを編集するので、下記コマンドでprofileを開いてください。

 cd ~
 vi .profile
※既にホームにいる場合はcdコマンドは不要です。
※前回も言いましたが、viじゃなくてもいいですよ。

②profileの最下部に、前回の時に、
 export PATH=$PATH:/usr/local/go/bin
と書いたと思いますが、ここを以下のようにしてください。

 export PATH=$PATH:/usr/local/go/bin:~/QtSDK/Desktop/Qt/4.8.1/gcc/bin

※PATHの続きに「:~/QtSDK/Desktop/Qt/4.8.1/gcc/bin」を追記しました。

③profileの変更を適用します。profileを保存して閉じたら、次のコマンドを実行してください。

 source .profile


2.GOPATHの設定
go-uiの取り込み先がGOPATHになるそうなので、profileにGOPATHを設定します。
GOPATHを設定するディレクトリをあらかじめ作っておきましょう。
僕はホームディレクトリに「GoProj」を作成しました。

①profileを編集します。下記コマンドでprofileを開いてください。

 cd ~
 vi .profile
※既にホームにいる場合はcdコマンドは不要です。
※さっきも言いましたが、viじゃなくてもいいんですよ!

②profileの最下部に、以下を追記してください。

 export GOPATH=~/GoProj
 export GOPATH=/home/(ユーザ名)/GoProj

※僕はホームディレクトリに「GoProj」を作ってそこにパスを通すようにしました。
 それぞれ作成したディレクトリにパスを通すように読み替えてください。

※(2012/09/01)
 GOPATHにチルダ(~)を使うと、Ubuntu再起動後のgo実行時に変な参照の仕方をするようです。
 上記の修正後のパスのようにフルパスを指定してあげると、問題なくなりました。
 PATHにチルダ使っちゃダメっていうのってあるの?GOPATHだけ?
 Linux詳しい人教えて!

③profileの変更を適用します。profileを保存して閉じたら、次のコマンドを実行してください。

 source .profile


3.go-uiライブラリのビルド
visualfcさんの下記のReadMeを開いて、その通りに設定していきます。
https://github.com/visualfc/go-ui
現在のバージョンは「go-ui 0.1.1」となっていました。
※ReadMeでは各項目に「Build」という単語が出てるんですけど、そのままの表現であってるのかなぁ・・・。
 よく分からないので、そのまま「ビルド」って書いてます。Linux詳しい人教えて!

①go-uiライブラリを取得します。下記コマンドを実行してください。

 go get github.com/visualfc/go-ui

※ここで、下記のようなエラーが出ちゃった人いませんか?僕は出ました!
 package github.com/visualfc/go-ui: exec: "git": executable file not found in $PATH

 GOPATHで設定したディレクトリ以下に「/src/github.com/visualfc/go-ui」が作成されていますが、中身が空っぽです。
 残念ながら、gitがインストールされていないため、ファイルが取得できなかったんですね。
 すでにインストールしてる人はOKなのですが、してない人は下記コマンドを実行してください。

  sudo apt-get install git

 gitのインストールが完了したら、あらためて下記コマンドを実行してください。

  go get github.com/visualfc/go-ui

 今度は「/src/github.com/visualfc/go-ui」以下に色々入ってきてますね。

②qtdrvのビルドをします。下記コマンドを実行してください。
※最初のcdコマンドではGOPATHで設定したディレクトリ以下の「/src/github.com/visualfc/go-ui/qtdrv」に移動しています。
 それぞれ設定したディレクトリに読み替えてください。

 cd ~/GoProj/src/github.com/visualfc/go-ui/qtdrv
 qmake "CONFIG+=release"
 make

titoi2さんの記事ではMacなのでmake通らなかったみたいですが、僕はUbuntuなので、Linuxだからか、make通りました。
警告はいっぱい出てましたが、まあ、大丈夫でしょう。たぶん。

③go-uiをビルドします。下記コマンドを実行してください。

 cd ../ui
 go install

④最後に、ちゃんと出来ているか確認しましょう。
examplesをビルドします。下記コマンドを実行してください。

 cd ../examples
 go build -ldflags '-r ../lib' minimal.go
 ./minimal



おー!真っ白な画面が表示されましたね!!


これでQtでGo言語が使えるようになりました。
Go言語でマルチプラットフォームなGUIアプリをいっぱい作りましょう!


おまけ:
titoi2さんがGUIアプリをいくつか作っているようです。
以下では数独アプリを作っていました。ソースも公開されていますね!
http://barsoom.seesaa.net/article/281342084.html

1 件のコメント:

  1. 内容を2箇所修正しました。
    修正箇所に日付打ってます。

    返信削除