Qtアプリをセルフコンパイル

ダウンロード

セルフ開発環境の定番だったdev_img-1.3を元に、F.UさんがQtopiaアプリのビルドに必要な変更を加えたdev.tar.gzを、てすりさんがcramfs化したdev-img.binをダウンロード。SDカードの抜き差しに影響あると嫌なので本体メモリーに置いた。
http://park6.wakwak.com/~tesuri/SLZaurus/index.html
dev-img.binに含まれるtmake等がperlを必要とするので、塚本さんとこからPerlをダウンロードして本体メモリーにインストール。
http://digit.que.ne.jp/visit/index.cgi?Linux%a5%b6%a5%a6%a5%eb%a5%b9%2f%a5%c0%a5%a6%a5%f3%a5%ed%a1%bc%a5%c9#i3

初期設定

スーパーユーザーになって、dev-img.binのデフォルトのマウント先である/mnt/devを作って、dev-img.binをそこにマウントし、dev-img.binに含まれる初期設定用のシェルスクリプトを実行する。

su
mkdir /mnt/dev
mount -o loop -t cramfs ~/Documents/dev-img.bin /mnt/dev
/mnt/dev/bin/compiler_setup.sh

この後に再起動した場合は上記手順をやり直す必要がある。

環境変数の設定

ターミナルを開いた時に環境変数の設定を自動的にやってくれるように、.bashrcを以下の内容で作成しておく。TOSさんのembeddedkonsole-jaとかはbashをログインシェルモードで起動してるので、.profileに以下の内容を書かないと読み込んでくれないみたいです。
http://www.castanet.homeip.net/~tos/sl-c700.html

export PATH=/mnt/dev/bin:/mnt/dev/tmake/bin:$PATH
export TMAKEPATH=/mnt/dev/tmake/lib/qws/linux-sharp-g++
export PERL_BADLANG=0

実はcompiler_setup.shでPATH設定は行ってくれるんだけど、sourceコマンドで読み込まないと有効にならないし、tmakeの実行パスも設定してくれない。どっちにしても一般ユーザでは結局何の意味もないので上記のように設定するのがいいと思う。
PERL_BADLANGはザウルスが環境変数LANGを使っているのでPerl起動時にwarningが出るのを抑制するために設定してる。
http://www.att.or.jp/perl/unixperl.html
あとは別途、環境変数TMPも適当にHDDのext2領域使うとか、ホームディレクトリに適当なディレクトリ作って使うとかした方がいいと思う。

Qtサンプルアプリケーションの作成

  • NetFront等のアドレス欄に「file:///mnt/dev/doc/index.html」を入力して開き、“QT Library Referrence Manual”→“チュートリアル”→“1. Hello, World!”を辿るか、「file:///mnt/dev/doc/qt/t1.html」をいきなり開く。
  • Qt tutorial 1のソースをペンでなぞって「ツール」メニューからコピーを選択する。
  • 適当にフォルダを作って、その中にviエディタでt01.cppを新規作成する。
mkdir t01
cd t01
vi t01.cpp
  • iを入力してからターミナル上部の右端にある貼付のアイコンにタッチして、先ほどコピーしたソースを貼り付け、Cancelキーを押してから、Zを2回続けて入力してt01.cppを保存する。
  • progenでプロジェクトファイルを作成し、それを元にtamekでMakefileを作成して、コンパイルを実行する。
progen -o t01.pro
tmake -o Makefile t01.pro
make
./t01
  • ザウルスのアプリケーションとデザインが違うので、t01.cppを修正する。要するにQt用のをQt/Embedded用に変更?最後の1行は文字が小さすぎて収まらなくなるのでウィンドウサイズを縦横2倍にしてるだけ。
#include          → #include 
    QApplication a( argc, argv ); →     QPEApplication a( argc, argv );
    hello.resize( 100, 30 );      →     hello.resize( 200, 60 );
make
./t01

ZEditorをコンパイルする

  • 全てのアイコンの高速起動を切っておき、メモリーを確保する。
  • ZEditorのソースをダウンロードして、本体メモリーに置く。

http://satoshi.web5.jp/f_soft/dw_zedit.htm

mkdir zeditor
cd zeditor
tar zxvf ~/Documents/zeditor3.5.1_src.tar.gz
tmake -o Makefile zeditor.pro
make
./zeditor

参考

はけさんとこに書いてあった手順そのまま(笑)ただ、うちの環境(SL-C760標準カーネル)ではincludeパスの指定とか何もしなくても上手くコンパイルできたみたい。
http://hake.syuriken.jp/linuxtips/index.html#130