Qt for Tizen
のビルド
とか

#Qt for Tizen
今をときめくTizenでQtを動かそうというお話です。「Tizenって何？」というお方はWikipediaのTizenページで詳細をご確認下さい。
>[Wikipedia Tizen(JP)](http://ja.wikipedia.org/wiki/Tizen) , [Wikipedia Tizen(EN)](http://en.wikipedia.org/wiki/Tizen)

TizenはQtとは別のEFLというGUIフレームワークで動いています。
![無題.png](https://qiita-image-store.s3.amazonaws.com/0/58573/8e7997ee-7ef2-03ed-ee83-b6732376bd5b.png)
アプリケーションはNativeはC言語、WebはJavascriptで記述します。

##Tizenで動くQt
実は1年前の別のAdvent Calendarで[同じようなこと](http://blog.tizen.moe/entry/qt_for_tizen_01)をやっていました。現在はTizenの公式パッケージに取り込まれて標準動作するイメージも存在しているようです。

[@leonanavi](http://twitter.com/leonanavi)版のビルドは頑張って見たのですが

```shell-session:shell
gbs:error: Traceback (most recent call last):'
  File "/usr/bin/gbs", line 624, in <module>
    sys.exit(main(sys.argv))
  File "/usr/bin/gbs", line 618, in main
    return module.main(args)
  File "/usr/lib/pymodules/python2.7/gitbuildsys/cmd_build.py", line 385, in main
    raise GbsError('some packages failed to be built')
GbsError: <gbs>some packages failed to be built
```
common, mobile, iviともこんな感じで

```shell-session:shell
info: package dependency:
qt5Dummy:
info: *** Build Status Summary ***
=== the following packages failed to build due to missing build dependencies (1) ===
qt5Dummy:
  nothing provides qt5-plugin-accessible-widgets
  nothing provides qt5-qtdeclarative-plugin-accessible
```

何となくパッケージが足りない感じです。
主に仕事中に
頑張って調べたのですがgbsのリポジトリに追加して入れる方法がわからなかったので断念しました
たぶんQt関係ないし...
、、、動かすとどんな感じかは、[こちら](https://www.youtube.com/watch?v=rhcUwnv1mrw)でTDCのプレゼンが見られるのでそちらをご参照下さい。（興味のある方は是非[この辺り](https://wiki.tizen.org/wiki/Qt_SDK)を参照して動かしてブログに書いて[@moguriso](http://twitter.com/moguriso)に教えて下さい)

#Qtのメリット
あくまで私の主観で、漠然と思いつく限り ...

 * 歴史が長い
 * 車載向アプリケーションの実績が豊富
 * クロスプラットフォーム対応
 * Qt Championが主催する勉強会がある

の４つを挙げてみました。

##歴史が長い
Qtの歴史は長く、組み込み機器などパソコン以外にも広く利用されています。

##車載向アプリケーションの実績が豊富
古くから車載向けアプリケーションに多くQtが採用されており、最近ではivi(In-Vehicle Infotainment)で利用されています。車載ソフトウェアの標準化を行うために設立されたGENIVI allianceの名のもとに作成されているIVIアプリケーションもqmlで作成されているものが少なくありません。
>[QtDD13 - Johan Thelin - A Qt-based GENIVI Stack](https://www.youtube.com/watch?v=sWas9HIOyNc)
>[navigation-application - git](http://git.projects.genivi.org/?p=lbs/navigation-application.git;a=summary)
>[navigation - git](http://git.projects.genivi.org/?p=lbs/navigation.git;a=summary)

##クロスプラットフォーム対応
一般論で言う、デスクトップ環境はもちろん、Qt 5.2 から正式に Android / iPhone(iOS) に対応しており、C/C++でクロスプラットフォームのアプリケーション開発を構築出来ます。Tizenは今回は諦めました。
突っ込まないで下さい


Android(Nexus5)で[適当に書いたコード](http://github.tizen.moe/gitbucket/adachi/qml_test)を動かしたところ↓
>![2014-12-08 09.19.46.png](https://qiita-image-store.s3.amazonaws.com/0/58573/52a118d1-222a-7d7a-e7e6-1a22e62869f7.png "Androidで動かしたところ")

同じQMLをiOSシミュレータで動かしたところ↓ （Nexus5に合せて 1980x1080で作ったので巨大になってます...orz）
>![スクリーンショット 2014-12-10 2.34.22.png](https://qiita-image-store.s3.amazonaws.com/0/58573/8d4d3c77-0ba9-84b3-2f69-544867702b3a.png "iOSシミュレータで動かしたところ")

##Qt Championが主催する勉強会がある
[日常的にQtを利用し、バグを修正しているQt狂](http://twitter.com/task_jp)が[毎月開催している勉強会](http://qt-users.doorkeeper.jp/events/17965)があります。[(今月-12/20-もあります)](http://qt-users.doorkeeper.jp/events/17965) 毎月おやつも沢山でます。

 * 何かしたいと焦ってる学生さん（最年少は中学生さんだったはず）
 * ワンランクレベルアップしたい新社会人さん（２０代前半の人も結構見ます）
 * プログラムに興味のあるデザイナーさん（実際来られてます）
 * 仕事に飽きたディベロッパーさん（仲良くしましょう）

初見でも入りやすい雰囲気なので、何か勉強会に行ってみたいけど行ったことのない方にもおすすめです。是非Qt Creatorの入ったノートPCを持ってご参加下さい。

#終わりに
本来もっと深堀りするべきところを外部リンクと動画で誤魔化した感があります。ごめんなさい。。。


明日（12/11）は、真面目で誠実が売りの寡黙な人こと[@hermit4](http://twitter.com/hermit4)さんの”Qtのライセンスについて（仮）”です。Qtを使うと言うと知った人は必ず聞いてくるのがライセンスの話ですし、SDKでAndroid/iOSを入れる際には

![zz無題.png](https://qiita-image-store.s3.amazonaws.com/0/58573/d831b924-6de9-796d-9f81-54c68ad41aa4.png)

こんなの（「コマーシャル版は LGPLv3なんだからね！ LGPLv2.1じゃないんだからね！」）が出てきてややこしい問題を丁寧で分かりやすく解説して下さると信じます（仮）