あ、しんのきです

趣味とか技術系とか

homebrewでQt5.1をインストールしてQt Creatorから使う

QtはクロスプラットフォームGUIフレームワークであり、 C++またはQMLという専用のライトウェイト言語での利用が基本だが、 PyQtやQtRubyなど多言語でのインタフェースが存在する。

Qt Project

日本Qtユーザー会

Qt Creatorという専用の開発環境がかなりサクサク動くのも特徴。 インストーラを使うとQt Creatorも含め簡単にインストールできるのだが、 homebrewにもパッケージがあったのでこっちでインストールしてみた。

4.x系と5.x系でだいぶ仕様が変わっているらしく、まだまだ4.x系の情報が多い。
brew install qtとすると4.x系がインストールされるので、brew install qt5を実行。

$ brew install qt5
...
==> Caveats
We agreed to the Qt opensource license for you.
If this is unacceptable you should uninstall.

This formula is keg-only: so it was not symlinked into /usr/local.

Qt 5 conflicts Qt 4 (which is currently much more widely used).

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/qt5/lib
    CPPFLAGS: -I/usr/local/opt/qt5/include

==> Summary
  /usr/local/Cellar/qt5/5.1.0: 95346 files, 2.0G

keg-onlyというのは、/usr/local/libなどにシンボリックリンクが生成されないパッケージのことらしい。 今回はQt Creatorからパスを指定して利用するのでこのままでOK。

Qt Creatorをダウンロードしてきたら、「環境設定」->「ビルドと実行」を設定する。
まず「Qt バージョン」タブでインストール先にあるqmakeのパスを指定し、次に「キット」タブで登録したバージョンを使ったキットを適当に作成する

f:id:konoki_nannoki:20130925001050p:plain

f:id:konoki_nannoki:20130925001302p:plain

C++で開発する場合にはこれだけなのだが、試しにQMLプロジェクトを作成してみたらqmlpuppetがないというエラーがでた。
エラーログにしたがって、Qt Creatorに付属しているqmlpuppetとqml2puppetをソースからビルドし、binに入れたら動くようになった。

Qt自体はかなり古くからあるライブラリなようだが、AndroidWindows8アプリへの対応も進められているらしく、ちょっと遊んでみようと思う。