「インストール - Qt6 Raspberry Pi」の版間の差分

ナビゲーションに移動 検索に移動
476行目: 476行目:


== Qtライブラリのクロスビルド ==
== Qtライブラリのクロスビルド ==
ビルドおよびインストールされるQtライブラリは、以下に示すように2種類存在する。<br>
Qt 6をクロスビルドおよびインストールする。<br>
* ホストPC向けQtライブラリ
* ターゲットデバイス向けQtライブラリ
<br>
Qt 5をクロスビルドおよびインストールする。<br>
Qt 5.8以降は、<code>-no-use-gold-linker</code>オプションを付加する必要がある。<br>
  <syntaxhighlight lang="sh">
  <syntaxhighlight lang="sh">
  # EGLFSの場合
  # EGLFSの場合
503行目: 498行目:
  export PKG_CONFIG_LIBDIR=$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/lib/arm-linux-gnueabihf/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/share/pkgconfig
  export PKG_CONFIG_LIBDIR=$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/lib/arm-linux-gnueabihf/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/share/pkgconfig
   
   
  ../qt-everywhere-src-5.15.x/configure -release \
  cmake -G Ninja \
  -device linux-raspberrypi-new-g++                       \
<Qt 6のソースコードがあるディレクトリ>      \
  -device-option CROSS_COMPILE=$CROSS_COMPILE            \
-DCMAKE_BUILD_TYPE=Release          \
  -opensource -confirm-license -v                        \
-DINPUT_opengl=es2                  \
  -opengl es2 -eglfs                                      \  # EGLを使用する場合
-DQT_FEATURE_opengles2=ON          \
  -qpa eglfs                                              \  # EGLを使用する場合
-DQT_FEATURE_opengles3=ON          \
  -nomake examples -no-compile-examples -nomake tests -make libs -no-use-gold-linker -recheck-all \
-DCMAKE_TOOLCHAIN_FILE=<CMakeデバイスファイルのパス>            \
  -skip qtwebengine -skip qtandroidextras -skip qtmacextras -skip qtwinextras                    \
  -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=ON                    \
  -sysroot $SYSTEMROOT                                            \
  -DQT_QMAKE_TARGET_MKSPEC=devices/linux-raspberrypi-new-g++ \
  -prefix /<Qtソフトウェアを配置するディレクトリ>                           \
  -DQT_QMAKE_DEVICE_OPTIONS=CROSS_COMPILE=$CROSS_COMPILER    \
  -extprefix /<Raspberry PiにインストールするQtライブラリを配置するディレクトリ> \
  -DQT_BUILD_EXAMPLES=OFF  \
  -hostprefix /<Linux PCで使用するQtライブラリを配置するディレクトリ>         \
-DQT_BUILD_TESTS=OFF    \
  -I$SYSTEMROOT/usr/include/arm-linux-gnueabihf                  \ # Raspberry Pi OS 32ビットの場合
-DBUILD_qtdoc=OFF        \  # QtDocをインストールしない場合
  -L$SYSTEMROOT/usr/lib/arm-linux-gnueabihf                         # Raspberry Pi OS 32ビットの場合
-DBUILD_qtwebengine=OFF  \ # QtWebEngineをインストールしない場合
  -I$SYSTEMROOT/usr/include/aarch64-linux-gnu                    \  # Raspberry Pi OS 64ビットの場合
  -DBUILD_qtwebview=OFF    \  # QtWebViewをインストールしない場合
-L$SYSTEMROOT/usr/lib/aarch64-linux-gnu                           # Raspberry Pi OS 64ビットの場合
-DBUILD_qtwebchannel=OFF \  # QtWebChannelをインストールしない場合
  -DFEATURE_clang=ON      \  # QtDocをインストールする場合
  -DFEATURE_clangcpp=ON    \  # QtDocをインストールする場合
-DFEATURE_xcb_xlib=OFF  \  # EGLFSを使用する場合
-DQT_FEATURE_xcb=OFF    \ # EGLFSを使用する場合
  -DQT_FEATURE_xlib=OFF    \ # EGLFSを使用する場合
  -DCMAKE_SYSROOT=$SYSROOT \
  -DQT_HOST_PATH=<x86 64向けQt 6のパスのトップディレクトリ  例: /home/user/Qt/6.x.x/gcc_64>                       \
  -DQT_HOST_PATH_CMAKE_DIR=/<x86 64向けQt 6のパスのcmakeディレクトリ  例: /home/user/Qt/6.x.x/gcc_64/lib/cmake> \
  -DCMAKE_STAGING_PREFIX=<Raspberry Pi向けQt 6ライブラリを配置するディレクトリ>                                       \
  -DCMAKE_INSTALL_PREFIX=<Qtソフトウェアを配置するディレクトリ>                                                    \
  -DCMAKE_PREFIX_PATH=$SYSROOT/usr/lib/arm-linux-gnueabihf # Raspberry Pi OS 32ビットの場合
  -DCMAKE_PREFIX_PATH=$SYSROOT/usr/lib/aarch64-linux-gnu   # Raspberry Pi OS 64ビットの場合
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
542行目: 549行目:
  export PKG_CONFIG_LIBDIR=$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/lib/arm-linux-gnueabihf/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/share/pkgconfig
  export PKG_CONFIG_LIBDIR=$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/lib/arm-linux-gnueabihf/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/share/pkgconfig
   
   
  ../qt-everywhere-src-5.15.x/configure -release \
  cmake -G Ninja \
  -device linux-raspberrypi-new-g++                       \
<Qt 6のソースコードがあるディレクトリ>      \
  -device-option CROSS_COMPILE=$CROSS_COMPILE            \
-DCMAKE_BUILD_TYPE=Release          \
  -opensource -confirm-license -v                        \
-DINPUT_opengl=es2                  \
  -opengl es2                                            \  # XCBを使用する場合
-DQT_FEATURE_opengles2=ON          \
  -qpa xcb                                                \  # XCBを使用する場合
-DQT_FEATURE_opengles3=ON          \
  -no-feature-eglfs_brcm                                  \  # XCBを使用する場合
-DCMAKE_TOOLCHAIN_FILE=<CMakeデバイスファイルのパス>            \
  -nomake examples -no-compile-examples -nomake tests -make libs -no-use-gold-linker -recheck-all \
  -DQT_BUILD_TOOLS_WHEN_CROSSCOMPILING=ON                    \
  -skip qtwebengine -skip qtandroidextras -skip qtmacextras -skip qtwinextras                    \
  -DQT_QMAKE_TARGET_MKSPEC=devices/linux-raspberrypi-new-g++ \
  -sysroot $SYSTEMROOT                                            \
  -DQT_QMAKE_DEVICE_OPTIONS=CROSS_COMPILE=$CROSS_COMPILER    \
  -prefix /<Qtソフトウェアを配置するディレクトリ>                           \
  -DQT_BUILD_EXAMPLES=OFF  \
  -extprefix /<Raspberry PiにインストールするQtライブラリを配置するディレクトリ> \
-DQT_BUILD_TESTS=OFF    \
  -hostprefix /<Linux PCで使用するQtライブラリを配置するディレクトリ>         \
-DBUILD_qtdoc=OFF        \  # QtDocをインストールしない場合
  -I$SYSTEMROOT/usr/include/arm-linux-gnueabihf                  \ # Raspberry Pi OS 32ビットの場合
-DBUILD_qtwebengine=OFF  \ # QtWebEngineをインストールしない場合
  -L$SYSTEMROOT/usr/lib/arm-linux-gnueabihf                         # Raspberry Pi OS 32ビットの場合
  -DBUILD_qtwebview=OFF    \  # QtWebViewをインストールしない場合
  -I$SYSTEMROOT/usr/include/aarch64-linux-gnu                    \  # Raspberry Pi OS 64ビットの場合
  -DBUILD_qtwebchannel=OFF \  # QtWebChannelをインストールしない場合
-L$SYSTEMROOT/usr/lib/aarch64-linux-gnu                           # Raspberry Pi OS 64ビットの場合
  -DFEATURE_clang=ON      \  # QtDocをインストールする場合
-DFEATURE_clangcpp=ON    \  # QtDocをインストールする場合
-DFEATURE_xcb_xlib=ON    \  # XCBを使用する場合
  -DQT_FEATURE_xcb=ON      \ # XCBを使用する場合
  -DQT_FEATURE_xlib=ON    \ # XCBを使用する場合
  -DCMAKE_SYSROOT=$SYSROOT \
  -DQT_HOST_PATH=<x86 64向けQt 6のパスのトップディレクトリ  例: /home/user/Qt/6.x.x/gcc_64>                       \
  -DQT_HOST_PATH_CMAKE_DIR=/<x86 64向けQt 6のパスのcmakeディレクトリ  例: /home/user/Qt/6.x.x/gcc_64/lib/cmake> \
  -DCMAKE_STAGING_PREFIX=<Raspbeery Pi向けQt 6ライブラリを配置するディレクトリ>                                     \
  -DCMAKE_INSTALL_PREFIX=<Qtソフトウェアを配置するディレクトリ>                                                    \
  -DCMAKE_PREFIX_PATH=$SYSROOT/usr/lib/arm-linux-gnueabihf # Raspberry Pi OS 32ビットの場合
  -DCMAKE_PREFIX_PATH=$SYSROOT/usr/lib/aarch64-linux-gnu   # Raspberry Pi OS 64ビットの場合
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>

案内メニュー