「インストール - Qt6 Banana Pi (RISC-V)」の版間の差分

 
(同じ利用者による、間の8版が非表示)
71行目: 71行目:
  # /etc/apt/sources.listファイル
  # /etc/apt/sources.listファイル
   
   
# Bullseyeの場合
  ## 編集前
  ## 編集前
  #deb-src http://deb.debian.org/debian unstable main contrib non-free non-free-firmware
  #deb-src http://deb.debian.org/debian unstable main contrib non-free non-free-firmware
89行目: 88行目:
* Armibian Trixie
* Armibian Trixie
  ## EGLを使用する場合
  ## EGLを使用する場合
  sudo apt install ccache libicu-dev icu-devtools libb2-dev libsctp1 libsctp-dev libzstd1 libzstd-dev libhidapi-dev   \
  sudo apt install ccache libicu-dev icu-devtools libb2-dev libsctp1 libsctp-dev libzstd1 libzstd-dev \
                  libinput-bin libinput-dev libts0 libts-bin libts-dev libmtdev1 libmtdev-dev libevdev2 libevdev-dev \
                  libhidapi-dev libinput-bin libinput-dev libts0t64 libts-bin libts-dev libmtdev1 libmtdev-dev   \
                  libblkid-dev libffi-dev libglib2.0-dev libglib2.0-dev-bin libmount-dev                             \
                  libevdev2 libevdev-dev libblkid-dev libffi-dev libglib2.0-dev libglib2.0-dev-bin libmount-dev \
                   libpcre2-8-0 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libsepol-dev libselinux1-dev libwacom-dev   \
                   libpcre2-8-0 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libsepol-dev libselinux-dev libwacom-dev \
                   libfontconfig1-dev libdbus-1-dev libxkbcommon-dev libjpeg-dev libasound2-dev libudev-dev           \
                   libfontconfig1-dev libdbus-1-dev libxkbcommon-dev libjpeg-dev libasound2-dev libudev-dev       \
                   libssl-dev libssl1.0-dev libnss3-dev gdbserver                                                     \
                   libssl-dev libnss3-dev gdbserver \
                   libgles2-mesa-dev libxcb-xinerama0 libxcb-xinerama0-dev libgles2-mesa-dev libgbm-dev
                   libgles2-mesa-dev libxcb-xinerama0 libxcb-xinerama0-dev libgles2-mesa-dev libgbm-dev
                   libgtk-3-dev                  # QtWidget向けにGTKネイティブテーマを使用する場合
                   libgtk-3-dev                  # QtWidget向けにGTKネイティブテーマを使用する場合
   
   
  ## XCBを使用する場合
  ## XCBを使用する場合
  sudo apt install ccache libicu-dev icu-devtools libb2-dev libsctp1 libsctp-dev libzstd1 libzstd-dev libhidapi-dev           \
  sudo apt install ccache libicu-dev icu-devtools libb2-dev libsctp1 libsctp-dev libzstd1 libzstd-dev libhidapi-dev     \
                   libinput-bin libinput-dev libts0 libts-bin libts-dev libmtdev1 libmtdev-dev libevdev2 libevdev-dev         \
                   libinput-bin libinput-dev libts0t64 libts-bin libts-dev libmtdev1 libmtdev-dev libevdev2 libevdev-dev \
                   libblkid-dev libffi-dev libglib2.0-dev libglib2.0-dev-bin libmount-dev                                     \
                   libblkid-dev libffi-dev libglib2.0-dev libglib2.0-dev-bin libmount-dev                               \
                   libpcre2-8-0 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libsepol-dev libselinux1-dev libwacom-dev           \
                   libpcre2-8-0 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libsepol-dev libselinux-dev libwacom-dev       \
                   libfontconfig1-dev libdbus-1-dev libxkbcommon-dev libjpeg-dev libasound2-dev libudev-dev libgles2-mesa-dev \
                   libfontconfig1-dev libdbus-1-dev libxkbcommon-dev libjpeg-dev libasound2-dev libudev-dev libgles2-mesa-dev \
                   libxcb-xinerama0 libxcb-xinerama0-dev libssl-dev libssl1.0-dev libnss3-dev gdbserver                       \
                   libxcb-xinerama0 libxcb-xinerama0-dev libssl-dev libnss3-dev gdbserver                                 \
                   libx11-dev libxcb1-dev libxext-dev libxi-dev libxcomposite-dev libxcursor-dev libxtst-dev libxrandr-dev   \
                   libx11-dev libxcb1-dev libxext-dev libxi-dev libxcomposite-dev libxcursor-dev libxtst-dev libxrandr-dev \
                   libfreetype6-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev             \
                   libfreetype-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev           \
                   libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev   \
                   libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \
                   libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util0-dev           \
                   libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util0-dev         \
                   libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev libgles2-mesa-dev libgbm-dev
                   libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev libgles2-mesa-dev libgbm-dev
                   libgtk-3-dev                  # QtWidget向けにGTKネイティブテーマを使用する場合
                   libgtk-3-dev                  # QtWidget向けにGTKネイティブテーマを使用する場合
126行目: 125行目:
| Bluetooth || bluez bluez-tools libbluetooth-dev ||
| Bluetooth || bluez bluez-tools libbluetooth-dev ||
|-
|-
| 画像 || libjpeg-dev libpng-dev libtiff-dev libwebp-dev libmng-dev libjasper-dev ||
| 画像 || libjpeg-dev libpng-dev libtiff-dev libwebp-dev libmng-dev ||
|-
|-
| コーデック || libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libx265-dev ||
| コーデック || libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libx265-dev ||
157行目: 156行目:
| プリンタ || libcups2-dev ||
| プリンタ || libcups2-dev ||
|-
|-
| Qt Speech || flite1-dev ||
| Qt Speech || flite1-dev libespeak-dev libwhisper-dev ||
|-
|-
| Qt GamePad || libsdl2-dev ||
| Qt GamePad || libsdl2-dev ||
163行目: 162行目:
| Wayland || libwayland-dev libwayland-dev waylandpp-dev libwayland-egl-backend-dev ||
| Wayland || libwayland-dev libwayland-dev waylandpp-dev libwayland-egl-backend-dev ||
|-
|-
| X11 || libx11-dev libxcb1-dev  libxext-dev libxi-dev libxcomposite-dev libxcursor-dev libxtst-dev libxrandr-dev<br>libfreetype6-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev<br>libxcb-glx0-dev  libxcb-keysyms1-dev libxcb-image0-dev  libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev<br>libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev  libxcb-util0-dev<br> libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev<br><br>もし、xcbに関連するパッケージを全てインストールする場合は、<code>sudo apt install "libxcb-*"</code>を実行する。 ||
| X11 || libx11-dev libxcb1-dev  libxext-dev libxi-dev libxcomposite-dev libxcursor-dev libxtst-dev libxrandr-dev<br>libfreetype-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev<br>libxcb-glx0-dev  libxcb-keysyms1-dev libxcb-image0-dev  libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev<br>libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev  libxcb-util0-dev<br> libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev<br><br>もし、xcbに関連するパッケージを全てインストールする場合は、<code>sudo apt install "libxcb-*"</code>を実行する。 ||
|-
|-
| WebEngine || 必須 :<br>flex bison gperf libre2-dev libnss3-dev libdrm-dev<br><br>オプション1 :<br>libxml2-dev libxslt1-dev libminizip-dev libjsoncpp-dev liblcms2-dev libevent-dev libprotobuf-dev<br>protobuf-compiler<br><br>オプション2(不安定なため注意すること) :<br>libopus-dev libvpx-dev ||
| WebEngine || 必須 :<br>flex bison gperf libre2-dev libnss3-dev libdrm-dev<br><br>オプション1 :<br>libxml2-dev libxslt1-dev libminizip-dev libjsoncpp-dev liblcms2-dev libevent-dev libprotobuf-dev<br>protobuf-compiler<br><br>オプション2(不安定なため注意すること) :<br>libopus-dev libvpx-dev ||
280行目: 279行目:
  QMAKE_LIBS_OPENVG      = -lOpenVG $${QMAKE_LIBS_EGL}
  QMAKE_LIBS_OPENVG      = -lOpenVG $${QMAKE_LIBS_EGL}
   
   
  # Compiler flags for RISC-V64
  # RISC-V64 ベクトル拡張1.0対応コンパイラフラグ
# rv64gc = rv64imafd_zicsr_zifencei (general purpose 64-bit RISC-V)
  COMPILER_FLAGS          = -march=rv64gcv -mabi=lp64d
  COMPILER_FLAGS          = -march=rv64gc -mabi=lp64d
   
   
# ベクトル拡張含む、サポートされている場合
# COMPILER_FLAGS          = -march=rv64gcv -mabi=lp64d
  QMAKE_CFLAGS            = $${COMPILER_FLAGS}
  QMAKE_CFLAGS            = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS          = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS          = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS_RELEASE += -O2
# リリースビルド時の最適化フラグ
  QMAKE_CXXFLAGS_RELEASE += -O2 -ftree-vectorize -pipe
   
   
  QMAKE_LIBS              += -lrt -lpthread -ldl
  QMAKE_LIBS              += -lrt -lpthread -ldl
365行目: 363行目:
  #QMAKE_LIBS_OPENGL_ES2  = -lGLESv2 $${QMAKE_LIBS_EGL}
  #QMAKE_LIBS_OPENGL_ES2  = -lGLESv2 $${QMAKE_LIBS_EGL}
   
   
  # Compiler flags for RISC-V64
  # RISC-V64 ベクトル拡張1.0対応コンパイラフラグ
  COMPILER_FLAGS          = -march=rv64gc -mabi=lp64d
  COMPILER_FLAGS          = -march=rv64gcv -mabi=lp64d
  QMAKE_CFLAGS            = $${COMPILER_FLAGS}
  QMAKE_CFLAGS            = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS          = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS          = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS_RELEASE += -O2
# リリースビルド時の最適化フラグ
  QMAKE_CXXFLAGS_RELEASE += -O2 -ftree-vectorize -pipe
   
   
  QMAKE_LIBS              += -lrt -lpthread -ldl
  QMAKE_LIBS              += -lrt -lpthread -ldl
423行目: 424行目:
  set(CMAKE_SHARED_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/riscv64-linux-gnu")
  set(CMAKE_SHARED_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/riscv64-linux-gnu")
    
    
  # RISC-V64 compiler flags
  # RISC-V64 ベクトル拡張対応コンパイラフラグ
# rv64gc = rv64imafd_zicsr_zifencei (general purpose 64-bit RISC-V)
  set(QT_COMPILER_FLAGS "-march=rv64gcv -mabi=lp64d")
# -mabi=lp64d = 64-bit long and pointer, double-precision float ABI
  set(QT_COMPILER_FLAGS "-march=rv64gc -mabi=lp64d")
# リリースビルド用の最適化フラグ
  set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe")
  set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe -ftree-vectorize")
# リンカフラグ
  set(QT_LINKER_FLAGS "-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed")
  set(QT_LINKER_FLAGS "-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed")
   
   
646行目: 649行目:


== Qt 6ライブラリのアップロード ==
== Qt 6ライブラリのアップロード ==
ビルドしたQtライブラリを、Raspberry Piにデプロイする。<br>
ビルドしたQtライブラリを、Banana Piにデプロイする。<br>
~/Program/Qt_Embedded/Qt6ディレクトリに存在する全てのファイルを、Raspberry Piの/usr/localディレクトリに同期させる。<br>
~/Program/Qt_Embedded/Qt6ディレクトリに存在する全てのファイルを、Banana Piの/usr/localディレクトリに同期させる。<br>
  rsync -avz --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" \
  rsync -avz --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" \
  ~/Program/Qt_Embedded/Target <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x
  ~/Program/Qt_Embedded/Target <Banana Piのユーザ名>@<Banana Piのホスト名またはIPアドレス>:/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x
<br>
<br>
<u>※注意</u><br>
<u>※注意</u><br>
<u>Raspberry PiにアップロードしたQtライブラリの所有者がrootになっている場合があるため、</u><br>
<u>Banana PiにアップロードしたQtライブラリの所有者がrootになっている場合があるため、</u><br>
<u>以下のコマンドを実行して、所有者をローカルユーザに変更する必要がある。</u><br>
<u>以下のコマンドを実行して、所有者をローカルユーザに変更する必要がある。</u><br>
  sudo chown -R <Raspberry Piのユーザ名>:<Raspberry Piのグループ名> ~/InstallSoftware/Qt_6_x_x
  sudo chown -R <Banana Piのユーザ名>:<Banana Piのグループ名> ~/InstallSoftware/Qt_6_x_x
<br>
<br>
Raspberry PiのリンカがQtライブラリを読み込むようにするため、以下のコマンドを実行する。<br>
Banana PiのリンカがQtライブラリを読み込むようにするため、以下のコマンドを実行する。<br>
<u>/etc/ld.so.conf.dディレクトリに配置する場合、Raspberry Pi 2B / 3Bでは、ファイル名の先頭に"00"を付加すること。</u><br>
<u>/etc/ld.so.conf.dディレクトリに配置する場合、ファイル名の先頭に"00"を付加すること。</u><br>
  # .profileファイルに設定する場合
  # .profileファイルに設定する場合
  export LD_LIBRARY_PATH="/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib:$LD_LIBRARY_PATH"
  export LD_LIBRARY_PATH="/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib:$LD_LIBRARY_PATH"
   
   
  # /etc/ld.so.conf.dディレクトリに配置する場合
  # /etc/ld.so.conf.dディレクトリに配置する場合
  echo /home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib | sudo tee /etc/ld.so.conf.d/00-Qt_6_x_x.conf
  echo /home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib | sudo tee /etc/ld.so.conf.d/00-Qt_6_x_x.conf
  sudo ldconfig
  sudo ldconfig
<br>
<br>
これにより、Raspberry PiでQtライブラリが使用できる。<br>
これにより、Banana PiでQtライブラリが使用できる。<br>
<br><br>
<br><br>


686行目: 689行目:
*: [デバイス]プルダウンから、[設定]画面左にある[デバイス]で作成したターゲットを選択する。
*: [デバイス]プルダウンから、[設定]画面左にある[デバイス]で作成したターゲットを選択する。
*: [ビルドデバイス]プルダウンから、[ローカルPC]を選択する。
*: [ビルドデバイス]プルダウンから、[ローカルPC]を選択する。
*: [Sysroot]項目に、Raspberry Piのシステムルートディレクトリのパスを入力する。
*: [Sysroot]項目に、Banana Piのシステムルートディレクトリのパスを入力する。
*: [コンパイラ]項目の[C]プルダウンから、C向けのクロスコンパイラを選択する。
*: [コンパイラ]項目の[C]プルダウンから、C向けのクロスコンパイラを選択する。
*: [コンパイラ]項目の[C++]プルダウンから、C++向けのクロスコンパイラを選択する。
*: [コンパイラ]項目の[C++]プルダウンから、C++向けのクロスコンパイラを選択する。
*: [GDB]プルダウンから、クロスコンパイラ向けGDBを選択する。
*: [GDB]プルダウンから、クロスコンパイラ向けGDBを選択する。
*: [Qtバージョン]プルダウンから、上記で設定した[Qtバージョン]を選択する。
*: [Qtバージョン]プルダウンから、上記で設定した[Qtバージョン]を選択する。
*: [Qt mkspec]項目から、デバイス定義ファイル (/<クロスコンパイルしたQt 6のインストールディレクトリ>/mkspecs/devices/linux-raspberrypi-new-g++ファイル) のパスを入力する。
*: [Qt mkspec]項目から、デバイス定義ファイル (/<クロスコンパイルしたQt 6のインストールディレクトリ>/mkspecs/devices/linux-bananapi-f3-g++ファイル) のパスを入力する。
*: [CMake Tool]プルダウンから、クロスコンパイルで使用したCMakeを選択する。
*: [CMake Tool]プルダウンから、クロスコンパイルで使用したCMakeを選択する。
*: <br>
*: <br>
717行目: 720行目:
*: Value - :0 または :0.0
*: Value - :0 または :0.0
* Variable : PATH
* Variable : PATH
*: Value : /home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/bin  ※PATHの設定が既に存在する場合は、追記する
*: Value : /home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/bin  ※PATHの設定が既に存在する場合は、追記する
* Variable : LD_LIBRARY_PATH  (Raspberry Piの~/.profileファイルに環境変数LD_LIBRARY_PATHを設定している場合)
* Variable : LD_LIBRARY_PATH  (Banana Piの~/.profileファイルに環境変数LD_LIBRARY_PATHを設定している場合)
*: Value : /home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib:/home/<Raspberry Pi's User Name>/InstallSoftware/Qt_6_x_x/plugins/qmltooling
*: Value : /home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib:/home/<Banana Pi's User Name>/InstallSoftware/Qt_6_x_x/plugins/qmltooling
* Variable : QML_IMPORT_PATH
* Variable : QML_IMPORT_PATH
*: Value : /home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/qml
*: Value : /home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/qml
* Variable : QML2_IMPORT_PATH
* Variable : QML2_IMPORT_PATH
*: Value : /home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/qml
*: Value : /home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/qml
* Variable : QT_PLUGIN_PATH
* Variable : QT_PLUGIN_PATH
*: Value : /home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins
*: Value : /home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins
* Variable : QT_QPA_PLATFORM_PLUGIN_PATH
* Variable : QT_QPA_PLATFORM_PLUGIN_PATH
*: Value : /home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins/platforms
*: Value : /home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins/platforms
<br>
<br>
また、上記の設定を簡潔に行う場合、Qtプロジェクトのディレクトリにある.pro.userファイルにおいて、<br>
また、上記の設定を簡潔に行う場合、Qtプロジェクトのディレクトリにある.pro.userファイルにおいて、<br>
740行目: 743行目:
     <value type="QString">QT_QPA_PLATFORMTHEME=qt6ct</value>
     <value type="QString">QT_QPA_PLATFORMTHEME=qt6ct</value>
     <value type="QString">DISPLAY=:0</value>
     <value type="QString">DISPLAY=:0</value>
     <value type="QString">PATH=/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games</value>
     <value type="QString">PATH=/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games</value>
     <value type="QString">LD_LIBRARY_PATH=/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib:/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins/qmltooling</value>
     <value type="QString">LD_LIBRARY_PATH=/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib:/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins/qmltooling</value>
     <value type="QString">QML_IMPORT_PATH=/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/qml</value>
     <value type="QString">QML_IMPORT_PATH=/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/qml</value>
     <value type="QString">QML2_IMPORT_PATH=/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/qml</value>
     <value type="QString">QML2_IMPORT_PATH=/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/qml</value>
     <value type="QString">QT_PLUGIN_PATH=/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins</value>
     <value type="QString">QT_PLUGIN_PATH=/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins</value>
     <value type="QString">QT_QPA_PLATFORM_PLUGIN_PATH=/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins/platforms</value>
     <value type="QString">QT_QPA_PLATFORM_PLUGIN_PATH=/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x/plugins/platforms</value>
   </valuelist>
   </valuelist>
   <!-- ...略 -->
   <!-- ...略 -->
762行目: 765行目:
==== GDBの設定 ====
==== GDBの設定 ====
次に、GDBデバッガの設定を行う。<br>
次に、GDBデバッガの設定を行う。<br>
リモートターゲットをデバッグする時、GDBは、Linux PC側にダウンロードしているRaspberry Piのシステムルートディレクトリを検索する。<br>
リモートターゲットをデバッグする時、GDBは、Linux PC側にダウンロードしているBanana Piのシステムルートディレクトリを検索する。<br>
そのため、GDBにターゲット側のRaspberry Piのシステムルートディレクトリを検索するように設定する必要がある。<br>
そのため、GDBにターゲット側のBanana Piのシステムルートディレクトリを検索するように設定する必要がある。<br>
<br>
<br>
これは、Qt Creatorメイン画面から、[ツール]メニューバー - [オプション] - [デバッガ] - [GDB]タブ - [追加の起動コマンド]に、以下の内容を設定する。<br>
これは、Qt Creatorメイン画面から、[ツール]メニューバー - [オプション] - [デバッガ] - [GDB]タブ - [追加の起動コマンド]に、以下の内容を設定する。<br>
773行目: 776行目:
システムルートディレクトリに対して、Qtライブラリのインストールディレクトリのシンボリックリンクを作成することを推奨する。<br>
システムルートディレクトリに対して、Qtライブラリのインストールディレクトリのシンボリックリンクを作成することを推奨する。<br>
<br>
<br>
システムルートディレクトリに対して、Linux PCに保存したRaspberry Pi向けのQtライブラリがあるディレクトリのシンボクリックリンクを作成する。
システムルートディレクトリに対して、Linux PCに保存したBanana Pi向けのQtライブラリがあるディレクトリのシンボクリックリンクを作成する。
  mkdir -p /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware
  mkdir -p /<Banana Piのシステムルートディレクトリ>/home/<Banana Piのユーザ名>/InstallSoftware
  ln -s /<Qtライブラリのインストールディレクトリ> /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware
  ln -s /<Qtライブラリのインストールディレクトリ> /<Banana Piのシステムルートディレクトリ>/home/<Banana Piのユーザ名>/InstallSoftware
   
   
  # シンボリックリンク名の変更
  # シンボリックリンク名の変更
  mv /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware/<Qtライブラリのインストールディレクトリ> \
  mv /<Banana Piのシステムルートディレクトリ>/home/<Banana Piのユーザ名>/InstallSoftware/<Qtライブラリのインストールディレクトリ> \
     /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware/Qt_6_x_x
     /<Banana Piのシステムルートディレクトリ>/home/<Banana Piのユーザ名>/InstallSoftware/Qt_6_x_x
<br>
<br>
Qt Creatorメイン画面から、[ツール]メニューバー - [オプション] - [デバッガ] - [GDB]タブ - [追加の起動コマンド]に、以下の内容を設定する。<br>
Qt Creatorメイン画面から、[ツール]メニューバー - [オプション] - [デバッガ] - [GDB]タブ - [追加の起動コマンド]に、以下の内容を設定する。<br>
  # Kit名に"RaspberryPi"という文字列が入っている場合のみ、Raspberry Piのシステムルートディレクトリを参照する
  # Kit名に"BananaPi"という文字列が入っている場合のみ、Banana Piのシステムルートディレクトリを参照する
  # x86 / x64のKitを使用する場合は、Raspberry Piのシステムルートディレクトリを参照しない
  # x86 / x64のKitを使用する場合は、Banana Piのシステムルートディレクトリを参照しない
  [ -n $(grep -i RaspberryPi %{ActiveProject:Kit:Name}) ] && set sysroot /<Raspberry Piのシステムルートディレクトリ>
  [ -n $(grep -i BananaPi %{ActiveProject:Kit:Name}) ] && set sysroot /<Banana Piのシステムルートディレクトリ>
   
   
  # または
  # または
   
   
  set sysroot /<Raspberry Piのシステムルートディレクトリ>
  set sysroot /<Banana Piのシステムルートディレクトリ>
<br>
<br>
これにより、Raspberry PiでQtライブラリが使用できる。<br>
これにより、Banana PiでQtライブラリが使用できる。<br>
<br><br>
<br><br>