📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

364行目: 364行目:
fixQualifiedLibraryPathsが正常に動作しないため、提供されたスクリプトをダウンロードして実行する。<br>
fixQualifiedLibraryPathsが正常に動作しないため、提供されたスクリプトをダウンロードして実行する。<br>
  wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
  wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
または
(右のファイルではない可能性あり→)wget https://raw.githubusercontent.com/Kukkimonsuta/rpi-buildqt/master/scripts/utils/sysroot-relativelinks.py
  chmod +x sysroot-relativelinks.py
  chmod +x sysroot-relativelinks.py
  ./sysroot-relativelinks.py ~/Program/Qt_Embedded/sysroot
  ./sysroot-relativelinks.py ~/Program/Qt_Embedded/sysroot
395行目: 392行目:
**: <code>linux-rasp-pi4-v3d-g++</code>
**: <code>linux-rasp-pi4-v3d-g++</code>
<br>
<br>
<u>Raspbian OSにおいて、64ビットを使用している場合は、<code>device-option</code>オプションを以下のように記述する。</u><br>
<u>Raspbian OS 64ビットを使用している場合は、<code>device-option</code>オプションを以下のように記述する。</u><br>
  -device-option CROSS_COMPILE=/<GCC ARMツールチェイン 64bitのインストールディレクトリ>/bin/arm-linux-gnueabihf-
  -device-option CROSS_COMPILE=/<GCC ARMツールチェインのインストールディレクトリ>/bin/aarch64-linux-gnueabihf-
<br>
<br>
また、Qt 5.9以降は、<code>-no-use-gold-linker</code>オプションを追加する必要がある。<br>
また、Qt 5.9以降は、<code>-no-use-gold-linker</code>オプションを追加する必要がある。<br>
409行目: 406行目:
*: <code>-device-option CROSS_COMPILE=/<GCC ARMツールチェーンのインストールディレクトリ>/bin/arm-linux-gnueabihf- \</code>
*: <code>-device-option CROSS_COMPILE=/<GCC ARMツールチェーンのインストールディレクトリ>/bin/arm-linux-gnueabihf- \</code>
*: <code>-sysroot /home/<ユーザ名>/Program/Qt_Embedded/sysroot -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine \</code>
*: <code>-sysroot /home/<ユーザ名>/Program/Qt_Embedded/sysroot -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine \</code>
*: <code>-nomake tests -make libs -pkg-config -no-use-gold-linker -v -recheck \</code>
*: <code>-nomake examples -nomake tests -make libs -pkg-config -no-use-gold-linker -v -recheck \</code>
*: <code>-L/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/lib/arm-linux-gnueabihf -I/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/include/arm-linux-gnueabihf \</code>
*: <code>-L/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/lib/arm-linux-gnueabihf -I/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/include/arm-linux-gnueabihf \</code>
*: <code>-prefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5 -extprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5</code>
*: <code>-prefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5 -extprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5</code>
*: <br>
*: <br>
*: <code>make -j $(nproc)</code>
*: <code>gmake -j $(nproc)</code>
*: <code>make install</code>
*: <code>gmake install</code>
*: <br>
*: <br>
*: 失敗した場合は、全てを削除するために以下のコマンドを実行する。<br>
*: 失敗した場合は、全てを削除するために以下のコマンドを実行する。<br>
432行目: 429行目:
*: <code>-device-option CROSS_COMPILE=/<GCC ARMツールチェーンのインストールディレクトリ>/bin/arm-linux-gnueabihf- \</code>
*: <code>-device-option CROSS_COMPILE=/<GCC ARMツールチェーンのインストールディレクトリ>/bin/arm-linux-gnueabihf- \</code>
*: <code>-sysroot /home/<ユーザ名>/Program/Qt_Embedded/sysroot -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine \</code>
*: <code>-sysroot /home/<ユーザ名>/Program/Qt_Embedded/sysroot -opensource -confirm-license -skip qtscript -skip qtwayland -skip qtwebengine \</code>
*: <code>-nomake tests -make libs -pkg-config -no-use-gold-linker -v -recheck \</code>
*: <code>-nomake examples -nomake tests -make libs -pkg-config -no-use-gold-linker -v -recheck \</code>
*: <code>-L/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/lib/arm-linux-gnueabihf -I/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/include/arm-linux-gnueabihf \</code>
*: <code>-L/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/lib/arm-linux-gnueabihf -I/home/<ユーザ名>/Program/Qt_Embedded/sysroot/usr/include/arm-linux-gnueabihf \</code>
*: <code>-prefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5 -extprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5</code>
*: <code>-prefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5 -extprefix /home/<ユーザ名>/Program/Qt_Embedded/Qt5</code>
*: <br>
*: <br>
*: <code>make -j $(nproc)</code>
*: <code>gmake -j $(nproc)</code>
*: <code>make install</code>
*: <code>gmake install</code>
*: <br>
*: <br>
*: ただし、SDKにネイティブのrccファイルが含まれていないため、rccファイルをSDKのbinディレクトリにコピーする。<br>
*: <u>もし、ビルドしたQtライブラリにネイティブのrccファイルが存在しない場合は、rccファイルをQtライブラリのbinディレクトリにコピーする。</u><br>
*: (Qtモジュールを使用するソフトウェアをビルドする場合、このrccバイナリが必要である)<br>
*: (Qtライブラリを使用するソフトウェアをビルドする場合、このrccバイナリが必要である)<br>
*: <code>cp ~/Program/Qt_Embedded/qtbase/bin/rcc ~/Program/Qt_Embedded/Qt5/bin</code>
*: <code>cp ~/Program/Qt_Embedded/qtbase/bin/rcc ~/Program/Qt_Embedded/Qt5/bin</code>
<br>
<br>
ビルドしたQtライブラリを、Raspberry Piにデプロイする。<br>
ビルドしたQtライブラリを、Raspberry Piにデプロイする。<br>
~/Program/Qt_Embedded/Qt5ディレクトリに存在する全てのファイルを、Raspberry Piの/usr/localディレクトリに同期させる。<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
  rsync -avz --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" ~/Program/Qt_Embedded/Qt5 <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_5_x_x
<br>
<br>
Raspberry PiのリンカがQtライブラリを読み込むようにするため、以下のコマンドを実行する。<br>
Raspberry PiのリンカがQtライブラリを読み込むようにするため、以下のコマンドを実行する。<br>
ただし、Raspberry Pi 2の場合、Qtソフトウェアの実行で問題が発生する時は、qt5_15.confファイルではなく、00-qt5_15.confファイルを作成する。<br>
ただし、Raspberry Pi 2の場合、Qtソフトウェアの実行で問題が発生する時は、Qt_5_x_x.confファイルではなく、00-Qt_5_x_x.confファイルを作成する。<br>
  echo /usr/local/qt5_15/lib | sudo tee /etc/ld.so.conf.d/qt5_15.conf
# .profileファイルに設定する場合
export LD_LIBRARY_PATH="/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_5_x_x/lib:$LD_LIBRARY_PATH"
# /etc/ld.so.conf.dディレクトリに配置する場合
  echo /home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_5_x_x/lib | sudo tee /etc/ld.so.conf.d/Qt_5_x_x.conf
  sudo ldconfig
  sudo ldconfig
<br>
<br>