Satoshi村
Qtでザウルスソフト開発
Copyrightc2002 Satoshi All Rights Reserved.
Update 2002.12.04
Qtを使ってLinuxザウルスのソフトを開発しましょう。
2年ぶりのLinuxなんですけど、、、正直言って初心者です。 はい。 とにかく安く!開発環境を作りましょう。 でも、無償版 QtopiaSDKを使う場合は、プログラムソースを公開する必要がありまっす! ....まぁ、きれいなソースじゃないけど、いっかぁ。 (無償版 QtopiaSDKを使って開発したソフトも無償にしなければならない!ってことでは無いみたいで、配布にあたっての相応の対価は認められるみたいです。。。) 急いでまとめたのでちょっと見づらいかも。
言葉?
Qtって何? ノルウェーの Troll Tech社が開発したC++のGUIツールキットライブラリ。 早い話がC++を使って開発ができるよってこと。 ウィンドウズ用もあってびっくりした。
GPL The GNU General Public License ソフトウェアライセンス規約。 これは、ソフトウェアの権利を著作者が放棄するという意味ではなくて、ソフトウェアの使用条件は自由ですよという意味だと理解しています。 これに基づいてプログラムソースを公開する必要があります。
何が必要なの?
ハードウェア そりゃ、なんてったってパソコンでしょ(^^;;; CPU ペンティアム3の860MHzを使いましたけど、多分ペンティアム2くらいでも十分できると思います。 メモリ これ問題です。 余ってた128Mbを使ってましたけど、ぎりぎりかもしれないです。 念のため128Mbを追加して256Mbにしました。 (QtとエディタとターミナルとAcrobatReaderとファイルマネージャで120Mb使ってましたぞ!) ハードディスク 最低でも1.5Gは余ってる必要がありますよ〜。 Linuxによっては2G以上必要なものもありまっす。 あと、今お使いのハードディスクにインストールする場合は、8G以上の場所にインストールできない可能性が高いです。 また、既にあるOSに Linuxを追加でインストールする場合は、2つ以上のOSを切り替えて起動する必要がありますので、それなりのソフトが必要ですね。 VGAカード(グラフィックカード)
最新のカードはLinuxでサポートされてない場合があるので確認して下さい。 私が使ったのは GeForce2 MX400です。 CFカード類のカードリーダ USB Mass Storage Classに対応していれば使えるみたいです。 マニアルとかに書いてあるはずでっす。 私は、Hagiwara sys-comのFlashGate mini( HBC-UC1 )と BuffaloのMCR-2UXの2機種でOKでした。 その他 LANは今回設定していません。 スタンドアロンで Linux専用にしました。 でも、インターネットへの接続はあったほうが便利ですよ。 OS RedHat系のLinuxがいいでしょう。 Qt関係のファイルはほとんどrpmっていうファイルで提供されてて、このファイルを標準でインストールできるのがRedHat系のLinuxです。 んじゃ、RedHat系のLinuxってどういうのがあるの? 私も詳しくは知りませんが、RedHat, Laser, Vine, Turbo, MLD などです。 予算 Linuxの値段は7千円くらいからあります。 私は雑誌の付録で付いてた Vine Linux2.5を使いました(^^;;; ですから、雑誌の値段だけで済みました。 安いぞ! ( カーネルは、2.4.18と 2.2.20の2つが入ってました。 X Window Systemは、XFree86-4.2.0です。 とか、書いてますけど、、、あんまり良く知らないので突っ込まないでね(^^;;; )
ここまでで使ったお金は、メモリ128Mbに1760円、VineLinux付きの雑誌が1980円で、合計3740円。 (パソコンは余ってたパーツで1台作ったのです。 メモリより雑誌のほうが高いじゃん!)
Linuxをインストールして下さい。 これは、ウィンドウズと違いちょっと手間がかかるかも。。。 でも昔のLinuxと比べてかなり親切丁寧でわかりやすくなってますよ〜。 ここはマニアルを参照して下さいね。 Linuxのインストールが終わったら下へ。。。
セットアップの前に必要なもの....準備だにゃ。
ソフト ドキュメントでPDFファイルを読む場合は、Acrpbat Readerが必要です。 Linux用のものもフリーで出てますのでダウンロードして置いたほうがいいですね。 あと、ウィンドウズで作ったテキストファイルをLinuxで参照したい場合は、日本語をシフトJISからEUCに変換する必要があるのでフリーソフトとかをダウンロードして変換しておいて下さい。
インストールの方法 これはウィンドウズと似てるところもあるし大きく違うところでもあります。 提供されるファイルによって大きく2種類に分かれます。 そのまま実行できるバイナリ形式のファイルをまとめたものと、プログラムソースファイル形式の2種類です。 ほえ? プログラムソースって? そうなんです。 これって自分でコンパイルして実行できるバイナリ形式を作るんです。 んで、最初のバイナリ形式のファイルをまとめたものは、展開すればいいだけですのでウィンドウズなんかと同じです。 *.tar.gz ファイルの場合はターミナルの中で指定のファイルの場所に移動して、 tar -zxvf *.tar.gz で解凍して、./install でインストールです。 *.rpmファイルの場合もターミナルの中で指定のファイルの場所に移動して、rpm -Uvh *.rpmでインストールできます。 インストールしたファイルを実行するには、パスを設定して実行するか、リンクファイルをパスの中に作って実行することになります。(ターミナルってウィンドウズでDOS窓とか言われてるコマンドプロンプト形式の入力のことです。) めんどくさいぞ〜って思うかもしれませんけど、たったの6ファイルをインストールするだけですから。。。
ドキュメントは? ザウルス宝箱Proの中の「SLシリーズザウルス 技術サポート情報トップページ」で「Qt/E / Qtopia開発環境セットアップガイド 」「Qt/Embedded / Qtopiaプログラミングガイド」で下のPDFファイルをダウンロードできます。 このファイルを見るには AcrobatReaderが必要です。
PDFファイル名 内容 qte_dev_setup_gd_a300-20021023.pdf 開発環境セットアップガイド( 121Kb ) qte_prog_gd_a300.pdf 開発スタートアップガイド( 478Kb ) この開発環境セットアップガイドに、ザウルス用の開発に必要なファイルとセットアップの手順が書かれています。
開発環境のセットアップ....6つのファイルをインストールすればいい
ダウンロードしておくファイル 下記6つのファイルをダウンロードします。 場所は、ザウルス宝箱Proの中の開発ツール一覧で取得できますよん。 ダウンロードする場所ですけど、、、自由です(^^;;; でも、/rpm というディレクトリがあるので /rpm/zaurus/ に保存しました。(/rpmの下に/zaurusを作りました。)
ファイル名 サイズ内容 gcc-cross-sa1100-2.95.2-0.i386.rpm 約5Mbクロスコンパイラ( gcc ) glib-arm-2.2.2-0.i386.rpm 約17Mbライブラリ( gcc ) binutil-cross-arm-2.11.2-0.i386.rpm 約1.8Mbヘッダファイル linux-headers-arm-sa1100-2.4.6-3.i386.rpm 約1.2Mbユーティリティ tmake-sharp.tar.gz 約1kbtmake設定ファイル for SLシリーズ qtopia-free-1.5.0-1.i386.rpm 約21.7Mb「Qt関連 開発ツール」の中の Open Source SDK for QtopiaをクリックするとTROLLTECH社のホームページへ飛んで、、、Downloadの中にある Qtopia 1.5.0 GPL SDK Linux 386をクリック
後は、上でダウンロードしたPDFファイルの「開発環境セットアップガイド」を見ながら作業をすればOKです。 念のため私の作業内容を書いておきますが、はっきり言ってPDFファイルのほうが見やすいかも(^^;;;
4つのファイルをインストール root権限で作業して下さい。 root権限は、ターミナルの中で su[Enter]の後、Password: ( root のパスワードを入力)で切り替わります。 4つのファイルは、クロスコンパイラとライブラリとヘッダファイルとユーティリティです。 4つともターミナルの中でダウンロードしたディレクトリに移動して、それぞれ rpm -Uvh ( filename ).rpm を実行すると自動的にインストールされます。 例えば、クロスコンパイラの場合は、rpm -Uvh gcc-cross-sa1100-2.95.2-0.i386.rpm[Enter]となります。 ファイル名が長〜い!
Qtのインストール は上の4つのファイルと同じで、rpm -Uvh ( filename ).rpmです。 rpm -Uvh qtopia-free-1.5.0-1.i386.rpm[Enter]ですね。
tmakeのインストール は、rpmファイルではないので違う処理になりまっす。 ターミナルの中でダウンロードしたディレクトリに移動して、gzip -d tmake-sharp.tar.gz[Enter]、tar xvf tmake-sharp.tar[Enter]、find linux-sharp-g++ | cpio -am /opt/Qtopia/tmake/lib/qws[Enter]です。 3つのコマンド処理を行います。 めんどくさいにゃ〜!
スクリプトファイルの作成 開発環境は上のインストールで既にできてます。 けど、それを使うためにはパス設定などの環境を整えるスクリプトファイル(バッチファイル)が必要です。 このスクリプトファイルをターミナルの中で実行してからコンパイルを行うわけです。 2つあります。 Linux上で仮想的に表示されたザウルス画面の中で実行する場合と、実際のザウルスで実行する場合の2つです。 「開発環境セットアップガイド」の「X86 ターゲット用スクリプト例」と「ARM ターゲット用スクリプト例」をそのままコピーしてファイルを作成しました。 んで、ウィンドウズではファイルの拡張子を*.cmd, *.batでバッチファイルにしますけど、Linuxの場合はパーミッションモードを変更します。 ファイル名はそのままで、そのファイルのモードを変更するといった感じです。 これもターミナルの中で、作成したファイルのディレクトリに移動して、chmod 755 ( filename )[Enter]で実行できるようになります。 755は例ですよ〜。 番号の詳細は chmodのコマンド詳細などを参照して下さい。 んで、VineLinuxでは、ファイルマネージャ(ウィンドウズのエクスプローラーみたいなファイラー)で簡単にパーミッションを変更できます。
コンパイルだぁ! テストだぁ!
/opt/Qtopia/example/にあるサンプルプログラムを x86用(Linux用)としてコンパイルしましょう。
1.スクリプトファイル(バッチファイル)の実行。 上で作ったスクリプトファイルをターミナルの中で実行します。 スクリプトファイルを作ったディレクトリに移動して、. dev-x86-qpe.sh[Enter]です。 先頭の"."と" "を忘れないでね。 ディレクトリに移動するのが面倒ですよね? そういう場合は、パスの中にスクリプトファイルを移動するとかして工夫して下さい。 これでLinux上で動くザウルス開発環境ができました!
2.ターミナルの中で/opt/Qtopia/example/に移動して、makeファイルを作ります。 tmake -o Makefile example.pro[Enter]
3. コンパイル! 同じディレクトリで、make[Enter]で実行ファイルを作成します。 約10秒ほどかかりました。 サイズは45kbでした。 ちょっとでかいなぁ。
4.実行! まず、仮想のザウルス画面を作ります。 ターミナルの中で、qvfb &[Enter] 最後の" &"は、バックグラウンドで実行する意味です。 んで、同じターミナルで、3.で作成した実行ファイルを起動します。 ./example ‐qws example[Enter] この先頭の"./"を忘れないことと、ターミナルは qvfbを起動した同じターミナルで実行すること。 (qvfb : Qtopia virtual frame buffer の意味かな?)
えっと、、、まず、私はまだLinuxザウルスを持っていませ〜ん(^^;;; ですから、ザウルスでテストはできません。 とほほ。 12月14日になればテストできるじょ! ですから、ARMをターゲットにした実行テストはまだなんですぅぅぅ(^^;;;
※テスト&開発のたびに更新する予定で〜す。 なんか間違いとか疑問とかありましたら掲示板でご指摘下さいませ。。。なんせ初心者なもんで(^^;;;
2005.03.08 申し訳ありません。 更新できそうにありません。(^^;;;