この記事は Qt Blog の "Cross compiling Qt for the masses" を翻訳したものです。
執筆: dcarr, 2012年4月13日
Qt を特定のデバイスや BSP 向けにクロスコンパイルする時、一から始めるのは時としてとても大変な作業です。この負担を減らす為に、私達は Qt 5 において既存の configure/qmake のビルドツールや、関連するドキュメントを改善しようとしています。作業は 2 つの方向から進めています。
一般的なクロスコンパイルのサポートは以下の方法で改善していきます。
サポートされるターゲットの一覧は こちら をご覧ください。
Raspberry Pi 向けのドキュメントにあるように、configure のオプションはここまで簡素化されました。
./configure -prefix <インストール先> -release
-device linux-rasp-pi-g++ -make libs
-device-option CROSS_COMPILE=<toolchain のパス>/bin/arm-none-linux-gnueabi-
-sysroot <sysroot のパス>
これにより生成されるビルドは Raspberry Pi 上での(シングルプロセスの) OpenGL ES 2 とキーボードをサポートします。
必要な変更は全て Qt 5 に取り込まれ、他の変更と同じようにレビューやテストをされているので、パッチを当てる必要はありません。当然ながらこれらのデバイスに向けられたコードの質は劇的に向上するでしょう。そしてこうしたハードウェア向けのプロトタイピング、開発、再利用も以前よりずっとやりやすくなるでしょう。白日の下にさらすことで、多くの改善が期待できるのです。
チップセットベンダー、ユーザー、BSP ベンダーやその他関連のある団体の方々に、それぞれのハードウェアに必要な mkspec と関連する Qt への変更の提供をお願いしたいと思います。それによって Qt 5 がデフォルトでサポートするデバイスの数を増やすことができます。オープンガバナンスへの移行により、こういった形でサポートを広げることがとても容易になりした。Qt 5 自体はもちろんですが、(制限のある)組み込み Linux プラットフォーム向けの開発が加速していることは、とても素晴らしいことです。