LinuxからSymbian用のQtアプリケーションを収集します

今回は、 Nokiaリモートコンパイラを使用せずにほぼ完全にネイティブツールを収集します。

この方法はGentoo-amd64でテストされ、その結果、非常に機能するsisファイルが取得されました。 Linuxからビルドする際の大きな利点は、abldと呼ばれる泥だらけのユーティリティではなく、ネイティブのmakeを使用することです。 その結果、次のようなメリットが得られます。



その結果、アセンブリ速度が大幅に向上します!



重要な注意:いくつかのユーティリティはワインを介して動作します!



Gnupocのインストール




必要なSDKを使用してパッケージをダウンロードするには、forum.nokia.comに登録する必要があります。 そして、S60_5th_Edition_SDK_v1_0_en.zipとs60_open_c_cpp_plug_in_v1_6_enが必要です。 このために特別に作成されたディレクトリにそれらをダウンロードします。私の場合は次のとおりです。

Develop/crossdev/symbian/downloads





これらのパッケージを受け取ったら、アクションを続行できます。

最初に、 gnupocをどこかにダウンロードして解凍します。

次に、install_gnupoc_s60_50スクリプトを引数として実行し、sdkを使用したアーカイブへのパスと、このSDKがインストールされるディレクトリへのパスを指定します。

私の場合、これは次のとおりです。

sh install_gnupoc_s60_50 ../../downloads/S60_5th_Edition_SDK_v1_0_en.zip ../../sdk







opencに対して操作を繰り返します

sh install_openc_16_s60 ../../downloads/s60_open_c_cpp_plug_in_v1_6_en.zip ../../sdk









Qtのインストール




Develop / crossdev / symbian / sdkに完全に機能するバージョンがあります。Qtをインストールする必要があります。そのため、SymbianWindowsアセンブリを取得し、つるの下で実行してインストールします。 SDK、原材料のインストールを拒否できます。 このアクションにより、必要なdefおよびdsoファイルを作成するためにすべてのライブラリを構築するのに多くの時間を費やすことがなくなります。

Qtバージョンは少なくとも4.7beta1である必要があります。バージョン4.6では、この魔法が機能しない可能性があります。



そして今、私たちは手を注意深く監視しています!




楽しみは始まります:アセンブリ用のワーキングユーティリティセットをコンパイルする必要があります。そのため、 gcceをダウンロードし、4.4.3をフレッシュにして、Carbideのユーザーが祖父3.4.5を収集できるようにします。 たとえば、コンパイラをスローします

Develop/crossdev/symbian/arm-2009q3/





次に、EPOCROOTが示される環境変数を含むファイルを作成する必要があります。また、コンパイラーとユーティリティーへのパスも指定されます。 私のファイルは次のようになります。

#!/bin/sh



SDK_DIR=$HOME/Develop/crossdev/symbian

export EPOCROOT=$SDK_DIR/sdk/

QTDIR=$SDK_DIR/qt

gcceDir=$SDK_DIR/arm-2009q3/bin/

export PATH=$QTDIR/bin:$EPOCROOT/epoc32/tools:$gcceDir:$PATH



if [[ ${EUID} == 0 ]] ; then

PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '

else

PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] @ \[\033[01;33m\]Symbian SDK \[\033[00m\]'

fi







パスを決定したら、次を実行します。

source env.sh





現在、非常に普通の環境変数はありません。

ここで、Symbianアセンブリと同じQtバージョンのソースが必要になり、それらをQTDIRに展開し、次のキーを使用してconfigureを実行します。

~/Develop/crossdev/symbian/qt $ @ Symbian SDK ./configure -platform linux-g++ -xplatform symbian/linux-gcce -little-endian -host-little-endian -arch symbian -prefix ~/Develop/crossdev/symbian/qt







プレフィックスとして、インストールに煩わされないように、同じQTDIRを選択するのが最も簡単です。

ここで、qmakeが収集および実行されるまで待機しますが、makeは開始されません。

以下を行う必要があります

cd src/tools/

make







次に、どのようなqmakeバージョンがあるかを確認します。次のようなものがあるはずです。

qmake -v

QMake version 2.01a

Using Qt version 4.7.0 in /home/sauron/Develop/crossdev/symbian/qt/lib







あとがきとさらなる改善の方向:


これで、ワインユーティリティをgnupocの対応するネイティブユーティリティに置き換えることができますが、これは慎重に行う必要があり、互換性の問題がある可能性があります。 原則として、wineから起動される通常のexeファイルで十分です。 コンパイル中に発生する警告キャンバスは無視できますが、それらはstlportの古代バージョンのために発生し、何も実行できません。 sisファイルの作成時に問題が発生する場合があります。

このようにして収集されたsisファイルは次のとおりです。確認できます。

一般的に、このソリューションは非常にうまく機能しており、* nixシステム用の公式のSymbian SDKがすぐに登場することを願っています



All Articles