- まず第一に、私たちが持っているもの:
- Mint 17.3がインストールされているホスト
- Qt 5.7.0、QtCreator 4.1.0
- ラズベリーパイ3
- 8ギガバイトのMicroSDカード
- 数時間の自由時間
- コーヒー
まず、ラズベリーのシステムのイメージをダウンロードします。 私の場合、raspbian jessieが手元にありました。 他のディストリビューションは、 サイトから簡単にダウンロードできます 。 アセンブリ段階で作業しやすくするために、ホームディレクトリにディレクトリを作成します。
mkdir ~/pi_cross/
システムのイメージをそこにドロップすると、原則として、すぐに自分自身にマウントできます。後で便利になります。
sudo mount -o loop,offset=70254592 ~/pi_cross/raspberry-embed.iso /mnt/rasp-pi-rootfs.
このオフセットを計算するには、次のようにします。
このように:
2番目の部分の終わりを見て、セクターのサイズ137216 * 512 = 70254592を掛けます。
elesar@elesar ~ $ fdisk -l ~/pi_cross/raspberry-embed.iso Disk /home/elesar/pi_cross/raspberry-embed.iso: 16.0 GB, 16021192704 bytes 255 heads, 63 sectors/track, 1947 cylinders, total 31291392 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xb0358c95 Device Boot Start End Blocks Id System /home/elesar/pi_cross/raspberry-embed.iso1 8192 137215 64512 c W95 FAT32 (LBA) /home/elesar/pi_cross/raspberry-embed.iso2 137216 31291391 15577088 83 Linux
2番目の部分の終わりを見て、セクターのサイズ137216 * 512 = 70254592を掛けます。
次のステップは、Qtソースをコピーすることです:
git clone git://code.qt.io/qt/qt5.git
そして、新しくダウンロードしたディレクトリに移動します:
cd qt5
実行する:
./init-repository
必要なサブモジュールを再開します。 ここがコーヒーが必要な場所です。 私のジャンプには少なくとも30分かかりました。 次に、クロスプラットフォームのツールチェーンが必要です。 ここからプルできます:
wget https://www.dropbox.com/s/sl919ly0q79m1e6/gcc-4.7-linaro-rpi-gnueabihf.tbz
パパにそれを解凍します。 まだライブラリが必要です:
sudo apt-get install ia32-libs
ただし、64ビットバージョンのOSを使用している場合のみ。 すべてがダウンロードされ、コーヒーの新しい部分が近づいているので、ツールチェーンから便利なスクリプトを実行できます。
sudo ./fixQualifiedLibraryPaths /mnt/rasp-pi-rootfs/ ~/pi_cross/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-gcc
シンボリックリンクを構成します。 これで、Qtの構築を開始できます。 コンフィギュレーターに移動します。
cd ~/pi_cross/qt5/qtbase
そしてする:
./configure -qt-xcb -openssl -securetransport -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/pi_cross/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/rasp-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-exports -release -qreal float -make libs -prefix /usr/local/qt5pi -hostprefix /usr/local/qt5pi
端末は次のようにフレンドリーに応答します:
サポートされているオプションを列挙します。 収集するもの:
make -j 4 sudo make install
これは最長のステージです。 私のマシンは約1時間バイトでガサガサ音を立てました。 すべてがほぼ準備完了です。 排気アセンブリのインストールは、事前にマウントしたディスクイメージです。 アンマウントしてSDカードに入れる必要があります。SDカードはMalinkaに挿入する必要があり、オンにすることができます。 (ラズベリーの作業台の写真)。
システムと小さな構成を読み込んだ後、Creatorの構成を開始します。 最初に、/ usr / local / qt5pi / bin / qmakeフォルダーに、Frankensteinのように構築されたものをqmakeに伝えます。
gcc-4.7-linaro-rpi-gnueabihf / bin / arm-linux-gnueabihf-gccをコンパイラーとして指定します。
デバイスを作成し、パスワードとアドレスを設定します:
適切な名前で新しいキットを作成します。
sysrootで、新しくマウントされたイメージを示します。 唯一の問題はデバッガーです。 私はリナロからそのようなものとして働くことをきっぱりと拒否したので、私は完璧に動作するGDB-Multiを滑らせました。 それだけです! これで、新しいプロジェクトを作成するときに、新しいキットが利用可能になりました。
デバイスで直接起動してデバッグするには、.proファイルに数行を追加する必要があります。
target.path = /usr/bin INSTALLS += target TARGET = Name_On_Target
それらは、アプリケーションがインストールされるパスとその名前を示します。
結論として、このメソッドのマイナス点に注意してください-たとえば、新しいライブラリのインストールなど、ターゲットの変更については、sysrootとしてマウントするためにSDカードからイメージを削除する必要があります。そうしないと、コンパイラはそれらを認識しません。 ご静聴ありがとうございました。 そして、はい、彼らはあなたをバイパスします。