337行目: 337行目:
<br>
<br>
<code>rsync</code>コマンドを使用して、Raspberry Piのいくつかのルートディレクトリと同期する。<br>
<code>rsync</code>コマンドを使用して、Raspberry Piのいくつかのルートディレクトリと同期する。<br>
rsync -avz --rsync-path="sudo rsync" --delete --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/lib ~/Program/Qt_Embedded/sysroot
  rsync -avz --rsync-path="sudo rsync" --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/lib ~/Program/Qt_Embedded/sysroot
  rsync -avz --rsync-path="sudo rsync" --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/lib ~/Program/Qt_Embedded/sysroot
  rsync -avz --rsync-path="sudo rsync" --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/include ~/Program/Qt_Embedded/sysroot/usr
  rsync -avz --rsync-path="sudo rsync" --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/include ~/Program/Qt_Embedded/sysroot/usr
385行目: 387行目:
  cd qtbase && mkdir build && cd build
  cd qtbase && mkdir build && cd build
   
   
  ../configure -release -opengl es2 -device <Raspberry Piのバージョン> \
  ../configure -release -opengl es2 -eglfs -device <Raspberry Piのバージョン> \
  -device-option CROSS_COMPILE=/home/<ユーザ名>/Program/Qt_Embedded/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- \
  -device-option CROSS_COMPILE=/<GCC ARMツールチェーンのインストールディレクトリ>/bin/arm-linux-gnueabihf- \
  -sysroot /home/<ユーザ名>/Program/Qt_Embedded/sysroot -opensource -confirm-license -make libs \
  -sysroot /home/<ユーザ名>/Program/Qt_Embedded/sysroot -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine \
  -prefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5Pi -extprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5Pi -hostprefix /home/<ユーザ名>/Qt5 -v -no-use-gold-linker
-nomake tests -make libs -pkg-config -recheck \
  -L/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/lib/arm-linux-gnueabihf -I/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/include/arm-linux-gnueabihf \
-prefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5 -extprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5 -v -no-use-gold-linker
   
   
  make -j 8
  make -j $(nproc)
  make install
  make install
<br>
<br>
408行目: 412行目:
  -prefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5Pi -extprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5Pi -hostprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5 -v -no-use-gold-linker
  -prefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5Pi -extprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5Pi -hostprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5 -v -no-use-gold-linker
   
   
  make -j 8
  make -j $(nproc)
  make install  
  make install  
<br>
<br>
ただし、SDKにネイティブのrccファイルが含まれていないため、rccファイルをSDKのbinディレクトリにコピーする。<br>
ただし、SDKにネイティブのrccファイルが含まれていないため、rccファイルをSDKのbinディレクトリにコピーする。<br>
(Qtモジュールを使用するソフトウェアをビルドする場合、このrccバイナリが必要である)<br>
(Qtモジュールを使用するソフトウェアをビルドする場合、このrccバイナリが必要である)<br>
  cp ~/Program/Qt_Embedded/qtbase/bin/rcc ~/Program/Qt_Embedded/Qt5Pi/bin
  cp ~/Program/Qt_Embedded/qtbase/bin/rcc ~/Program/Qt_Embedded/Qt5/bin
<br>
ビルドしたQtライブラリを、Raspberry Piにデプロイする。<br>
~/Program/Qt_Embedded/Qt5ディレクトリに存在する全てのファイルを、Raspberry Piの/usr/localディレクトリに同期させる。<br>
rsync -avz --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" ~/Program/Qt_Embedded/Qt5 <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/local
<br>
Raspberry PiのリンカがQtライブラリを読み込むようにするため、以下のコマンドを実行する。<br>
ただし、Raspberry Pi 2の場合、Qtソフトウェアの実行で問題が発生する時は、qt5_15.confファイルではなく、00-qt5_15.confファイルを作成する。<br>
echo /usr/local/qt5_15/lib | sudo tee /etc/ld.so.conf.d/qt5_15.conf
sudo ldconfig
<br>
<br>
Linux PC上で、QtライブラリをRaspberry Piにデプロイする。<br>
上記の設定により、Raspberry Pi上において、Qt 5.15.2を使用できる。<br>
ここでは、~/Program/Qt_Embedded/Qt5Piから上で設定したプレフィックスに全てを同期させる。<br>
rsync -avz --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" ~/Program/Qt_Embedded/Qt5Pi <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/home/<Raspberry Piのユーザ名>/Qt5Pi
<br><br>
<br><br>