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

編集の要約なし
 
(同じ利用者による、間の14版が非表示)
15行目: 15行目:
! colspan="3" style="background-color:#44CC99;" | 参考書
! colspan="3" style="background-color:#44CC99;" | 参考書
|- style="text-align: center;"
|- style="text-align: center;"
| style="width: 33%" | <center><html><a href="https://www.amazon.co.jp/Introducing-Qt-Learn-Mobile-Desktop/dp/148427489X?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611690&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-2&linkCode=ll1&tag=presire220a-22&linkId=3053b20cf3556f8bb315f4f3fd04fdbe&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/61OPCSNS4VL._SL1180_.jpg" ></a></html><br>[https://www.amazon.co.jp/Introducing-Qt-Learn-Mobile-Desktop/dp/148427489X?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611690&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-2&linkCode=ll1&tag=presire220a-22&linkId=3053b20cf3556f8bb315f4f3fd04fdbe&language=ja_JP&ref_=as_li_ss_tl Introducing Qt 6<br>C++でモバイルとデスクトップ向けのアプリとゲームを作ることを学ぶ]</center>
| style="width: 33%" | <center><html><a href="https://www.amazon.co.jp/Introducing-Qt-Learn-Mobile-Desktop/dp/148427489X?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611690&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-2&linkCode=ll1&tag=presire2-22&linkId=3053b20cf3556f8bb315f4f3fd04fdbe&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/61OPCSNS4VL._SL1180_.jpg" ></a></html><br>[https://www.amazon.co.jp/Introducing-Qt-Learn-Mobile-Desktop/dp/148427489X?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611690&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-2&linkCode=ll1&tag=presire2-22&linkId=3053b20cf3556f8bb315f4f3fd04fdbe&language=ja_JP&ref_=as_li_ss_tl Introducing Qt 6<br>C++でモバイルとデスクトップ向けのアプリとゲームを作ることを学ぶ]</center>
| style="width: 33%" | <center><html><a href="https://www.amazon.co.jp/Cross-Platform-Development-Modern-applications-interfaces/dp/1800204582?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611690&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-8&linkCode=ll1&tag=presire220a-22&linkId=07b919e3516320e5ca209c74e325c740&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/61meHwEaCLS._SL1360_.jpg" ></a></html><br>[https://www.amazon.co.jp/Cross-Platform-Development-Modern-applications-interfaces/dp/1800204582?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611690&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-8&linkCode=ll1&tag=presire220a-22&linkId=07b919e3516320e5ca209c74e325c740&language=ja_JP&ref_=as_li_ss_tl Cross-Platform Development with Qt 6 and Modern C++<br>プラットフォーム依存性を気にすることなく、<br>モダンなグラフィカルユーザーインターフェースを持つアプリケーションを設計・構築する]</center>
| style="width: 33%" | <center><html><a href="https://www.amazon.co.jp/Cross-Platform-Development-Modern-applications-interfaces/dp/1800204582?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611690&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-8&linkCode=ll1&tag=presire2-22&linkId=07b919e3516320e5ca209c74e325c740&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/61meHwEaCLS._SL1360_.jpg" ></a></html><br>[https://www.amazon.co.jp/Cross-Platform-Development-Modern-applications-interfaces/dp/1800204582?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611690&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-8&linkCode=ll1&tag=presire2-22&linkId=07b919e3516320e5ca209c74e325c740&language=ja_JP&ref_=as_li_ss_tl Cross-Platform Development with Qt 6 and Modern C++<br>プラットフォーム依存性を気にすることなく、<br>モダンなグラフィカルユーザーインターフェースを持つアプリケーションを設計・構築する]</center>
| style="width: 33%" | <center><html><a href="https://www.amazon.co.jp/Guide-Qt-Beginners/dp/B08XLLDZSG?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611709&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-18&linkCode=ll1&tag=presire220a-22&linkId=505bfbc1b686c54000759827f92a0c5d&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/51J026p9D8S._SL1360_.jpg" ></a></html><br>[https://www.amazon.co.jp/Guide-Qt-Beginners/dp/B08XLLDZSG?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611709&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-18&linkCode=ll1&tag=presire220a-22&linkId=505bfbc1b686c54000759827f92a0c5d&language=ja_JP&ref_=as_li_ss_tl A Guide to Qt 6<br>Qt 6の初心者向けガイド]</center>
| style="width: 33%" | <center><html><a href="https://www.amazon.co.jp/Guide-Qt-Beginners/dp/B08XLLDZSG?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611709&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-18&linkCode=ll1&tag=presire2-22&linkId=505bfbc1b686c54000759827f92a0c5d&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/51J026p9D8S._SL1360_.jpg" ></a></html><br>[https://www.amazon.co.jp/Guide-Qt-Beginners/dp/B08XLLDZSG?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2XOJ92BZ9LJHM&keywords=Qt6&qid=1683611709&s=english-books&sprefix=qt6%2Cenglish-books%2C156&sr=1-18&linkCode=ll1&tag=presire2-22&linkId=505bfbc1b686c54000759827f92a0c5d&language=ja_JP&ref_=as_li_ss_tl A Guide to Qt 6<br>Qt 6の初心者向けガイド]</center>
|}
|}
</center>
</center>
27行目: 27行目:
  sudo zypper install autoconf automake cmake unzip tar git wget pkg-config gperf gcc gcc-c++ \
  sudo zypper install autoconf automake cmake unzip tar git wget pkg-config gperf gcc gcc-c++ \
                     gawk bison openssl flex figlet pigz ncurses-devel ncurses5-devel texinfo
                     gawk bison openssl flex figlet pigz ncurses-devel ncurses5-devel texinfo
 
                     libicu-devel libopus-devel openjpeg2-devel pciutils-devel libpciaccess-devel libxshmfence-devel python3-html5lib \ # QtWebEngineをインストールする場合
                    # QtWebEngineをインストールする場合
                     libvpx-devel                                                                                                        # QtWebEngineをインストールする場合
                     libicu-devel libopus-devel openjpeg2-devel pciutils-devel libpciaccess-devel libxshmfence-devel \
 
                    libvpx-devel python3-html5lib
                     ffmpeg-4-libavcodec-devel ffmpeg-4-libavdevice-devel ffmpeg-4-libavfilter-devel ffmpeg-4-libavformat-devel       \ # QtWebEngineをインストールする場合 (デフォルトパッケージ)
   
                     ffmpeg-4-libavresample-devel ffmpeg-4-libavutil-devel ffmpeg-4-libpostproc-devel ffmpeg-4-libswresample-devel   \ # QtWebEngineをインストールする場合 (デフォルトパッケージ)
                     # QtWebEngineをインストールする場合 (デフォルトパッケージ)
                     ffmpeg-4-libswscale-devel ffmpeg-4-private-devel                                                                   # QtWebEngineをインストールする場合 (デフォルトパッケージ)
                     ffmpeg-4-libavcodec-devel ffmpeg-4-libavdevice-devel ffmpeg-4-libavfilter-devel ffmpeg-4-libavformat-devel   \
 
                     ffmpeg-4-libavresample-devel ffmpeg-4-libavutil-devel ffmpeg-4-libpostproc-devel ffmpeg-4-libswresample-devel \
                     ffmpeg-6-libavcodec-devel ffmpeg-6-libavdevice-devel ffmpeg-6-libavfilter-devel ffmpeg-6-libavformat-devel       \ # QtWebEngineをインストールする場合 (Packmanパッケージ)
                     ffmpeg-4-libswscale-devel ffmpeg-4-private-devel
                     ffmpeg-6-libavresample-devel ffmpeg-6-libavutil-devel ffmpeg-6-libpostproc-devel ffmpeg-6-libswresample-devel   \ # QtWebEngineをインストールする場合 (Packmanパッケージ)
                     ffmpeg-6-libswscale-devel ffmpeg-6-private-devel                                                                   # QtWebEngineをインストールする場合 (Packmanパッケージ)
                    # QtWebEngineをインストールする場合 (Packmanパッケージ)
                     ffmpeg-6-libavcodec-devel ffmpeg-6-libavdevice-devel ffmpeg-6-libavfilter-devel ffmpeg-6-libavformat-devel   \
                     ffmpeg-6-libavresample-devel ffmpeg-6-libavutil-devel ffmpeg-6-libpostproc-devel ffmpeg-6-libswresample-devel \
                     ffmpeg-6-libswscale-devel ffmpeg-6-private-devel
<br>
<br>
<u>GCC ARMツールチェーンにおいて、GCC 8以降が必要である</u><br>
<u>GCC ARMツールチェーンにおいて、GCC 8以降が必要である</u><br>
48行目: 51行目:
<u>クロスコンパイラのlibstdc++.so.6ファイルにおいて、Raspberry Pi OSのlibstdc++.so.6ファイルのバージョンと同等または古いものを使用する必要がある。</u><br>
<u>クロスコンパイラのlibstdc++.so.6ファイルにおいて、Raspberry Pi OSのlibstdc++.so.6ファイルのバージョンと同等または古いものを使用する必要がある。</u><br>
<u>例えば、Raspberry Pi OS Bullseyeのlibstdc++.so.6ファイルはGLIBCXX_3.4.28までであるため、GCC 10ツールチェーン、または、それ以前のものを使用する。</u><br>
<u>例えば、Raspberry Pi OS Bullseyeのlibstdc++.so.6ファイルはGLIBCXX_3.4.28までであるため、GCC 10ツールチェーン、または、それ以前のものを使用する。</u><br>
<u>また、Raspberry Pi OS Bookwormのlibstdc++.so.6ファイルはGLIBCXX_3.4.30までであるため、GCC 12ツールチェーン、または、それ以前のものを使用する。</u><br>
<br>
<br>
* GCCツールチェーン群
* GCCツールチェーン群
58行目: 62行目:
  # 32ビット向け
  # 32ビット向け
  tar xf gcc-linaro-<バージョン>-x86_64_arm-linux-gnueabihf.tar.xz
  tar xf gcc-linaro-<バージョン>-x86_64_arm-linux-gnueabihf.tar.xz
 
  # 64ビット向け
  # 64ビット向け
  tar xf gcc-linaro-<バージョン>-x86_64_aarch64-linux-gnu.tar.xz
  tar xf gcc-linaro-<バージョン>-x86_64_aarch64-linux-gnu.tar.xz
73行目: 77行目:
|+ 表. Raspberry PiとLTO(Link Time Optimization)フラグの関係
|+ 表. Raspberry PiとLTO(Link Time Optimization)フラグの関係
|-
|-
! style="background-color:#00ffff;" | Raspberry Piの種類
! style="background-color:#66ccff;" | Raspberry Piの種類
! style="background-color:#00ffff;" | LTO(Link Time Optimization)フラグ
! style="background-color:#66ccff;" | LTO(Link Time Optimization)フラグ
|-
|-
| Raspberry Pi Zero/W/WH<br>Raspberry Pi 1 Model A / B / A+ / B+ || -march=armv6 -mfloat-abi=hard -mfpu=vfp
| Raspberry Pi Zero/W/WH<br>Raspberry Pi 1 Model A / B / A+ / B+ || -march=armv6 -mfloat-abi=hard -mfpu=vfp
106行目: 110行目:
<br>
<br>
  # /etc/apt/sources.listファイル
  # /etc/apt/sources.listファイル
 
  # Bullseyeの場合
  # Bullseyeの場合
  ## 編集前
  ## 編集前
  #deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
  #deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
 
  ## 編集後
  ## 編集後
  deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
  deb-src http://raspbian.raspberrypi.org/raspbian/ bullseye main contrib non-free rpi
145行目: 149行目:
                   libraspberrypi-dev            # Raspberry Pi 3B / 3B+の場合、かつ、Raspberry Pi OS 32ビットを使用する場合
                   libraspberrypi-dev            # Raspberry Pi 3B / 3B+の場合、かつ、Raspberry Pi OS 32ビットを使用する場合
                   libgles2-mesa-dev libgbm-dev  # Raspberry Pi 4Bを使用する場合
                   libgles2-mesa-dev libgbm-dev  # Raspberry Pi 4Bを使用する場合
 
  ## 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        \
175行目: 179行目:
                   libraspberrypi-dev            # Raspberry Pi 3B / 3B+の場合、かつ、Raspberry Pi OS 32ビットを使用する場合
                   libraspberrypi-dev            # Raspberry Pi 3B / 3B+の場合、かつ、Raspberry Pi OS 32ビットを使用する場合
                   libgles2-mesa-dev libgbm-dev  # Raspberry Pi 4Bを使用する場合
                   libgles2-mesa-dev libgbm-dev  # Raspberry Pi 4Bを使用する場合
 
  ## 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          \
223行目: 227行目:
| OpenALオーディオ || libopenal-data libopenal1 libopenal-dev libsndio7.0 libsndio-dev ||
| OpenALオーディオ || libopenal-data libopenal1 libopenal-dev libsndio7.0 libsndio-dev ||
|-
|-
| データベース || unixodbc-dev (ODBC)<br>libsqlite3-dev (SQLite)<br>libpq-dev(PostgreSQL)<br>libmariadb-dev(MariaDB / MySQL)
| FFmpeg ||
|
* libavcodec-dev : オーディオ・ビデオのコーデック機能
* libavformat-dev : メディアコンテナフォーマットの処理
* libavutil-dev : FFmpegの共通ユーティリティ機能
* libswscale-dev : 画像のスケーリングと色空間変換の処理
* libswresample-dev : オーディオのリサンプリング機能
* libavdevice-dev : デバイスからのメディア入出力をサポート
<br>VAAPIサポート (ハードウェアアクセラレーション) を有効にする場合:<br>libva-dev libdrm-dev
||
|-
| データベース || unixodbc-dev (ODBC)<br>libsqlite3-dev (SQLite)<br>libpq-dev(PostgreSQL)<br>libmariadb-dev(MariaDB / MySQL) ||  
|-
|-
| プリンタ || libcups2-dev ||
| プリンタ || libcups2-dev ||
232行目: 245行目:
| Qt GamePad || libsdl2-dev ||
| Qt GamePad || libsdl2-dev ||
|-
|-
| Wayland || libwayland-dev libwayland-dev libkwaylandserver-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>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>を実行する。 ||
285行目: 298行目:
             <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/lib                \
             <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/lib                \
             <Raspberry Piのシステムルートディレクトリ>
             <Raspberry Piのシステムルートディレクトリ>
 
  rsync -avz --rsync-path="sudo rsync" --delete --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" \
  rsync -avz --rsync-path="sudo rsync" --delete --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" \
             <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/include        \
             <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/include        \
             /<Raspberry Piのシステムルートディレクトリ>/usr
             /<Raspberry Piのシステムルートディレクトリ>/usr
 
  rsync -avz --rsync-path="sudo rsync" --delete --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" \
  rsync -avz --rsync-path="sudo rsync" --delete --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" \
             <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/lib            \
             <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/lib            \
             /<Raspberry Piのシステムルートディレクトリ>/usr
             /<Raspberry Piのシステムルートディレクトリ>/usr
 
  rsync -avz --rsync-path="sudo rsync" --delete --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" \
  rsync -avz --rsync-path="sudo rsync" --delete --rsh="ssh -p <ポート番号> -i <秘密鍵のフルパス>" \
             <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/share/pkgconfig \
             <Raspberry Piのユーザ名>@<Raspberry Piのホスト名またはIPアドレス>:/usr/share/pkgconfig \
339行目: 352行目:
  <syntaxhighlight lang="make">
  <syntaxhighlight lang="make">
  # qmake.confファイル
  # qmake.confファイル
 
  include(../common/linux_device_pre.conf)
  include(../common/linux_device_pre.conf)
 
  SYSROOT_INC = $$[QT_SYSROOT]/usr/include
  SYSROOT_INC = $$[QT_SYSROOT]/usr/include
  SYSROOT_LIB = $$[QT_SYSROOT]/usr/lib
  SYSROOT_LIB = $$[QT_SYSROOT]/usr/lib
 
  # Extra stuff (OpenGL, DirectFB, ...)
  # Extra stuff (OpenGL, DirectFB, ...)
  QMAKE_INCDIR_EGL        = $$[SYSROOT_INC]                    \
  QMAKE_INCDIR_EGL        = $$[SYSROOT_INC]                    \
362行目: 375行目:
  QMAKE_INCDIR_OPENVG    = $${QMAKE_INCDIR_EGL}
  QMAKE_INCDIR_OPENVG    = $${QMAKE_INCDIR_EGL}
  QMAKE_LIBDIR_OPENVG    = $${QMAKE_LIBDIR_EGL}
  QMAKE_LIBDIR_OPENVG    = $${QMAKE_LIBDIR_EGL}
 
  QMAKE_LIBS_EGL          = -lEGL
  QMAKE_LIBS_EGL          = -lEGL
  QMAKE_LIBS_OPENGL_ES2  = -lGLESv2 $${QMAKE_LIBS_EGL}
  QMAKE_LIBS_OPENGL_ES2  = -lGLESv2 $${QMAKE_LIBS_EGL}
  QMAKE_LIBS_OPENVG      = -lOpenVG $${QMAKE_LIBS_EGL}
  QMAKE_LIBS_OPENVG      = -lOpenVG $${QMAKE_LIBS_EGL}
 
  # Raspberry Pi 3B / 3B+の場合
  # Raspberry Pi 3B / 3B+の場合
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
 
  # Raspberry Pi 4B 32ビットOSを使用する場合
  # Raspberry Pi 4B 32ビットOSを使用する場合
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8
 
  # Raspberry Pi 4B 64ビットOSを使用する場合
  # Raspberry Pi 4B 64ビットOSを使用する場合
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a72
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a72
 
  QMAKE_CFLAGS            = $${COMPILER_FLAGS}
  QMAKE_CFLAGS            = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS          = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS          = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS_RELEASE  += -O3
  QMAKE_CXXFLAGS_RELEASE  += -O3
 
  QMAKE_LIBS              += -lrt -lpthread -ldl
  QMAKE_LIBS              += -lrt -lpthread -ldl
 
  # Raspberry Pi OS 32ビットの場合
  # Raspberry Pi OS 32ビットの場合
  # Raspberry Pi OS 64ビットの場合はコメントアウトする
  # Raspberry Pi OS 64ビットの場合はコメントアウトする
  DISTRO_OPTS            += hard-float
  DISTRO_OPTS            += hard-float
 
  # Raspberry Pi OS 64ビットの場合はコメントを解除する
  # Raspberry Pi OS 64ビットの場合はコメントを解除する
  #DISTRO_OPTS += aarch64
  #DISTRO_OPTS += aarch64
 
  # for Raspberry Pi OS
  # for Raspberry Pi OS
  DISTRO_OPTS            += deb-multi-arch
  DISTRO_OPTS            += deb-multi-arch
 
  # Preferred eglfs backend
  # Preferred eglfs backend
  ## Raspberry Pi 3B / 3B+の場合
  ## Raspberry Pi 3B / 3B+の場合
  EGLFS_DEVICE_INTEGRATION = eglfs_brcm
  EGLFS_DEVICE_INTEGRATION = eglfs_brcm
 
  ## Raspberry Pi 4Bの場合
  ## Raspberry Pi 4Bの場合
  EGLFS_DEVICE_INTEGRATION = eglfs_kms
  EGLFS_DEVICE_INTEGRATION = eglfs_kms
 
  include(../common/linux_arm_device_post.conf)
  include(../common/linux_arm_device_post.conf)
 
  load(qt_config)
  load(qt_config)
  </syntaxhighlight>
  </syntaxhighlight>
409行目: 422行目:
  <syntaxhighlight lang="c++">
  <syntaxhighlight lang="c++">
  # qplatformdefs.hファイル
  # qplatformdefs.hファイル
 
  #include "../../linux-g++/qplatformdefs.h"
  #include "../../linux-g++/qplatformdefs.h"
  </syntaxhighlight>
  </syntaxhighlight>
422行目: 435行目:
  <syntaxhighlight lang="make">
  <syntaxhighlight lang="make">
  # qmake.confファイル
  # qmake.confファイル
 
  include(../common/linux_device_pre.conf)
  include(../common/linux_device_pre.conf)
 
  SYSROOT_INC = $$[QT_SYSROOT]/usr/include
  SYSROOT_INC = $$[QT_SYSROOT]/usr/include
  SYSROOT_LIB = $$[QT_SYSROOT]/usr/lib
  SYSROOT_LIB = $$[QT_SYSROOT]/usr/lib
 
  # Extra stuff (OpenGL, DirectFB, ...)
  # Extra stuff (OpenGL, DirectFB, ...)
  QMAKE_INCDIR_EGL        = $$[SYSROOT_INC]                    \
  QMAKE_INCDIR_EGL        = $$[SYSROOT_INC]                    \
445行目: 458行目:
  QMAKE_INCDIR_OPENVG    = $${QMAKE_INCDIR_EGL}
  QMAKE_INCDIR_OPENVG    = $${QMAKE_INCDIR_EGL}
  QMAKE_LIBDIR_OPENVG    = $${QMAKE_LIBDIR_EGL}
  QMAKE_LIBDIR_OPENVG    = $${QMAKE_LIBDIR_EGL}
 
  QMAKE_LIBS_EGL          = -lEGL
  QMAKE_LIBS_EGL          = -lEGL
  QMAKE_LIBS_OPENGL_ES2  = -lGLESv2 $${QMAKE_LIBS_EGL}
  QMAKE_LIBS_OPENGL_ES2  = -lGLESv2 $${QMAKE_LIBS_EGL}
  QMAKE_LIBS_OPENVG      = -lOpenVG $${QMAKE_LIBS_EGL}
  QMAKE_LIBS_OPENVG      = -lOpenVG $${QMAKE_LIBS_EGL}
 
  # Raspberry Pi 3B / 3B+の場合
  # Raspberry Pi 3B / 3B+の場合
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
 
  # Raspberry Pi 4B 32ビットOSを使用する場合
  # Raspberry Pi 4B 32ビットOSを使用する場合
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8
 
  # Raspberry Pi 4B 64ビットOSを使用する場合
  # Raspberry Pi 4B 64ビットOSを使用する場合
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a72
  QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a72
 
  QMAKE_CFLAGS            = $${COMPILER_FLAGS}
  QMAKE_CFLAGS            = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS          = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS          = $${COMPILER_FLAGS}
  QMAKE_CXXFLAGS_RELEASE  += -O3
  QMAKE_CXXFLAGS_RELEASE  += -O3
 
  QMAKE_LIBS              += -lrt -lpthread -ldl
  QMAKE_LIBS              += -lrt -lpthread -ldl
 
  # Raspberry Pi OS 32ビットの場合
  # Raspberry Pi OS 32ビットの場合
  # Raspberry Pi OS 64ビットの場合はコメントアウトする
  # Raspberry Pi OS 64ビットの場合はコメントアウトする
  DISTRO_OPTS            += hard-float
  DISTRO_OPTS            += hard-float
 
  # Raspberry Pi OS 64ビットの場合はコメントを解除する
  # Raspberry Pi OS 64ビットの場合はコメントを解除する
  #DISTRO_OPTS += aarch64
  #DISTRO_OPTS += aarch64
 
  # for Raspberry Pi OS
  # for Raspberry Pi OS
  DISTRO_OPTS            += deb-multi-arch
  DISTRO_OPTS            += deb-multi-arch
 
  # Preferred eglfs backend
  # Preferred eglfs backend
  EGLFS_DEVICE_INTEGRATION = eglfs_kms
  EGLFS_DEVICE_INTEGRATION = eglfs_kms
 
  include(../common/linux_arm_device_post.conf)
  include(../common/linux_arm_device_post.conf)
 
  load(qt_config)
  load(qt_config)
  </syntaxhighlight>
  </syntaxhighlight>
488行目: 501行目:
  <syntaxhighlight lang="c++">
  <syntaxhighlight lang="c++">
  # qplatformdefs.hファイル
  # qplatformdefs.hファイル
 
  #include "../../linux-g++/qplatformdefs.h"
  #include "../../linux-g++/qplatformdefs.h"
  </syntaxhighlight>
  </syntaxhighlight>
497行目: 510行目:
  <syntaxhighlight lang="cmake">
  <syntaxhighlight lang="cmake">
  # Raspberry Pi OS Bullseye / Bookworm 32ビットの場合
  # Raspberry Pi OS Bullseye / Bookworm 32ビットの場合
 
  cmake_minimum_required(VERSION 3.18)
  cmake_minimum_required(VERSION 3.18)
  include_guard(GLOBAL)
  include_guard(GLOBAL)
 
  set(CMAKE_SYSTEM_NAME Linux)
  set(CMAKE_SYSTEM_NAME Linux)
  set(CMAKE_SYSTEM_PROCESSOR arm)
  set(CMAKE_SYSTEM_PROCESSOR arm)
 
  set(TARGET_SYSROOT "<Raspberry Pi Bullseye / Bookworm 32ビットのシステムルートディレクトリのパス>")
  set(TARGET_SYSROOT "<Raspberry Pi Bullseye / Bookworm 32ビットのシステムルートディレクトリのパス>")
  set(CMAKE_SYSROOT  ${TARGET_SYSROOT})
  set(CMAKE_SYSROOT  ${TARGET_SYSROOT})
 
  set(ENV{PKG_CONFIG_PATH}  ENV{PKG_CONFIG_PATH}:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig)
  set(ENV{PKG_CONFIG_PATH}  ENV{PKG_CONFIG_PATH}:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig)
  set(ENV{PKG_CONFIG_LIBDIR} /usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig:${TARGET_SYSROOT}/usr/share/pkgconfig)
  set(ENV{PKG_CONFIG_LIBDIR} /usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig:${TARGET_SYSROOT}/usr/share/pkgconfig)
  set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT})
  set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT})
 
  set(CMAKE_C_COMPILER    "/<ARM向けクロスコンパイラのインストールパス>/bin/arm-linux-gnueabihf-gcc")
  set(CMAKE_C_COMPILER    "/<ARM向けクロスコンパイラのインストールパス>/bin/arm-linux-gnueabihf-gcc")
  set(CMAKE_CXX_COMPILER  "/<ARM向けクロスコンパイラのインストールパス>/bin/arm-linux-gnueabihf-g++")
  set(CMAKE_CXX_COMPILER  "/<ARM向けクロスコンパイラのインストールパス>/bin/arm-linux-gnueabihf-g++")
 
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${TARGET_SYSROOT}/usr/include -I${TARGET_SYSROOT}/usr/include/arm-linux-gnueabihf")
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${TARGET_SYSROOT}/usr/include -I${TARGET_SYSROOT}/usr/include/arm-linux-gnueabihf")
  set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
  set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
519行目: 532行目:
  set(CMAKE_MODULE_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf")
  set(CMAKE_MODULE_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf")
  set(CMAKE_SHARED_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf")
  set(CMAKE_SHARED_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf")
 
  # Raspberry Pi 3B / 3B+ の場合
  # Raspberry Pi 3B / 3B+ の場合
  set(SOC_FLAG "-march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8")
  set(SOC_FLAG "-march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8")
526行目: 539行目:
  # Raspberry Pi 5 の場合
  # Raspberry Pi 5 の場合
  set(SOC_FLAG "-march=armv8-a -mtune=cortex-a76")
  set(SOC_FLAG "-march=armv8-a -mtune=cortex-a76")
 
  set(QT_COMPILER_FLAGS ${SOC_FLAG})
  set(QT_COMPILER_FLAGS ${SOC_FLAG})
  set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe")
  set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe")
  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")
 
  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
537行目: 550行目:
  set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
  set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
  set(CMAKE_BUILD_RPATH ${TARGET_SYSROOT})
  set(CMAKE_BUILD_RPATH ${TARGET_SYSROOT})
 
  set(XCB_PATH_VARIABLE ${TARGET_SYSROOT})
  set(XCB_PATH_VARIABLE ${TARGET_SYSROOT})
 
  set(GL_INC_DIR ${TARGET_SYSROOT}/usr/include)
  set(GL_INC_DIR ${TARGET_SYSROOT}/usr/include)
  set(GL_LIB_DIR ${TARGET_SYSROOT}:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/:${TARGET_SYSROOT}/usr:${TARGET_SYSROOT}/usr/lib)
  set(GL_LIB_DIR ${TARGET_SYSROOT}:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/:${TARGET_SYSROOT}/usr:${TARGET_SYSROOT}/usr/lib)
 
  set(EGL_INCLUDE_DIR ${GL_INC_DIR})
  set(EGL_INCLUDE_DIR ${GL_INC_DIR})
  set(EGL_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libEGL.so)
  set(EGL_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libEGL.so)
 
  set(OPENGL_INCLUDE_DIR ${GL_INC_DIR})
  set(OPENGL_INCLUDE_DIR ${GL_INC_DIR})
  set(OPENGL_opengl_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libOpenGL.so)
  set(OPENGL_opengl_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libOpenGL.so)
 
  set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
  set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
  set(GLIB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libGLESv2.so)
  set(GLIB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libGLESv2.so)
 
  set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
  set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
  set(GLESv2_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libGLESv2.so)
  set(GLESv2_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libGLESv2.so)
 
  set(gbm_INCLUDE_DIR ${GL_INC_DIR})
  set(gbm_INCLUDE_DIR ${GL_INC_DIR})
  set(gbm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libgbm.so)
  set(gbm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libgbm.so)
 
  set(Libdrm_INCLUDE_DIR ${GL_INC_DIR})
  set(Libdrm_INCLUDE_DIR ${GL_INC_DIR})
  set(Libdrm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libdrm.so)
  set(Libdrm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libdrm.so)
 
  set(XCB_XCB_INCLUDE_DIR ${GL_INC_DIR})
  set(XCB_XCB_INCLUDE_DIR ${GL_INC_DIR})
  set(XCB_XCB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libxcb.so)
  set(XCB_XCB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libxcb.so)
568行目: 581行目:
  <syntaxhighlight lang="cmake">
  <syntaxhighlight lang="cmake">
  # Raspberry Pi OS Bullseye / Bookworm 64ビットの場合
  # Raspberry Pi OS Bullseye / Bookworm 64ビットの場合
 
  cmake_minimum_required(VERSION 3.18)
  cmake_minimum_required(VERSION 3.18)
  include_guard(GLOBAL)
  include_guard(GLOBAL)
 
  set(CMAKE_SYSTEM_NAME Linux)
  set(CMAKE_SYSTEM_NAME Linux)
  set(CMAKE_SYSTEM_PROCESSOR arm)
  set(CMAKE_SYSTEM_PROCESSOR arm)
 
  set(TARGET_SYSROOT "<Raspberry Pi Bullseye / Bookworm 64ビットのシステムルートディレクトリのパス>")
  set(TARGET_SYSROOT "<Raspberry Pi Bullseye / Bookworm 64ビットのシステムルートディレクトリのパス>")
  set(CMAKE_SYSROOT ${TARGET_SYSROOT})
  set(CMAKE_SYSROOT ${TARGET_SYSROOT})
 
  set(ENV{PKG_CONFIG_PATH}  $PKG_CONFIG_PATH:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/pkgconfig)
  set(ENV{PKG_CONFIG_PATH}  $PKG_CONFIG_PATH:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/pkgconfig)
  set(ENV{PKG_CONFIG_LIBDIR} /usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig/:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/pkgconfig:${TARGET_SYSROOT}/usr/share/pkgconfig)
  set(ENV{PKG_CONFIG_LIBDIR} /usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig/:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/pkgconfig:${TARGET_SYSROOT}/usr/share/pkgconfig)
  set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT})
  set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT})
 
  set(CMAKE_C_COMPILER    /<ARM向けクロスコンパイラのインストールパス>/bin/aarch64-linux-gnu-gcc)
  set(CMAKE_C_COMPILER    /<ARM向けクロスコンパイラのインストールパス>/bin/aarch64-linux-gnu-gcc)
  set(CMAKE_CXX_COMPILER  /<ARM向けクロスコンパイラのインストールパス>/bin/aarch64-linux-gnu-g++)
  set(CMAKE_CXX_COMPILER  /<ARM向けクロスコンパイラのインストールパス>/bin/aarch64-linux-gnu-g++)
 
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${TARGET_SYSROOT}/usr/include -I${TARGET_SYSROOT}/usr/include/aarch64-linux-gnu")
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${TARGET_SYSROOT}/usr/include -I${TARGET_SYSROOT}/usr/include/aarch64-linux-gnu")
  set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
  set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")
590行目: 603行目:
  set(CMAKE_MODULE_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu")
  set(CMAKE_MODULE_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu")
  set(CMAKE_SHARED_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu")
  set(CMAKE_SHARED_LINKER_FLAGS_INIT  "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu")
 
  # Raspberry Pi 3B / 3B+ の場合
  # Raspberry Pi 3B / 3B+ の場合
  set(SOC_FLAG "-march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8")
  set(SOC_FLAG "-march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8")
597行目: 610行目:
  # Raspberry Pi 5 の場合
  # Raspberry Pi 5 の場合
  set(SOC_FLAG "-march=armv8-a -mtune=cortex-a76")
  set(SOC_FLAG "-march=armv8-a -mtune=cortex-a76")
 
  set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe")
  set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe")
  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")
 
  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
  set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
  set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
607行目: 620行目:
  set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
  set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
  set(CMAKE_BUILD_RPATH ${TARGET_SYSROOT})
  set(CMAKE_BUILD_RPATH ${TARGET_SYSROOT})
 
  set(XCB_PATH_VARIABLE ${TARGET_SYSROOT})
  set(XCB_PATH_VARIABLE ${TARGET_SYSROOT})
 
  set(GL_INC_DIR ${TARGET_SYSROOT}/usr/include)
  set(GL_INC_DIR ${TARGET_SYSROOT}/usr/include)
  set(GL_LIB_DIR ${TARGET_SYSROOT}:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/:${TARGET_SYSROOT}/usr:${TARGET_SYSROOT}/usr/lib)
  set(GL_LIB_DIR ${TARGET_SYSROOT}:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/:${TARGET_SYSROOT}/usr:${TARGET_SYSROOT}/usr/lib)
 
  set(EGL_INCLUDE_DIR ${GL_INC_DIR})
  set(EGL_INCLUDE_DIR ${GL_INC_DIR})
  set(EGL_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libEGL.so)
  set(EGL_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libEGL.so)
 
  set(OPENGL_INCLUDE_DIR ${GL_INC_DIR})
  set(OPENGL_INCLUDE_DIR ${GL_INC_DIR})
  set(OPENGL_opengl_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libOpenGL.so)
  set(OPENGL_opengl_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libOpenGL.so)
 
  set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
  set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
  set(GLIB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libGLESv2.so)
  set(GLIB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libGLESv2.so)
 
  set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
  set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
  set(GLESv2_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libGLESv2.so)
  set(GLESv2_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libGLESv2.so)
 
  set(gbm_INCLUDE_DIR ${GL_INC_DIR})
  set(gbm_INCLUDE_DIR ${GL_INC_DIR})
  set(gbm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libgbm.so)
  set(gbm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libgbm.so)
 
  set(Libdrm_INCLUDE_DIR ${GL_INC_DIR})
  set(Libdrm_INCLUDE_DIR ${GL_INC_DIR})
  set(Libdrm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libdrm.so)
  set(Libdrm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libdrm.so)
 
  set(XCB_XCB_INCLUDE_DIR ${GL_INC_DIR})
  set(XCB_XCB_INCLUDE_DIR ${GL_INC_DIR})
  set(XCB_XCB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libxcb.so)
  set(XCB_XCB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/aarch64-linux-gnu/libxcb.so)
640行目: 653行目:
  <syntaxhighlight lang="sh">
  <syntaxhighlight lang="sh">
  # EGLFSの場合
  # EGLFSの場合
 
  # ビルドディレクトリを作成
  # ビルドディレクトリを作成
  mkdir /<Qtのソースコードがあるディレクトリ>/../build && cd /<Qtのソースコードがあるディレクトリ>/../build
  mkdir /<Qtのソースコードがあるディレクトリ>/../build && cd /<Qtのソースコードがあるディレクトリ>/../build
 
  export CROSS_PI_PATH=/<GCC ARMツールチェインのインストールディレクトリ>
  export CROSS_PI_PATH=/<GCC ARMツールチェインのインストールディレクトリ>
 
  # Raspberry Pi OS 32ビットの場合
  # Raspberry Pi OS 32ビットの場合
  export CROSS_COMPILE=$CROSS_PI_PATH/bin/arm-linux-gnueabihf-
  export CROSS_COMPILE=$CROSS_PI_PATH/bin/arm-linux-gnueabihf-
 
  # Raspberry Pi OS 64ビットの場合
  # Raspberry Pi OS 64ビットの場合
  export CROSS_COMPILE=$CROSS_PI_PATH/bin/aarch64-linux-gnu-
  export CROSS_COMPILE=$CROSS_PI_PATH/bin/aarch64-linux-gnu-
 
  # システムルードディレクトリの指定
  # システムルードディレクトリの指定
  export SYSTEMROOT=<Raspberry Pi OSのシステムルートディレクトリ>
  export SYSTEMROOT=<Raspberry Pi OSのシステムルートディレクトリ>
  export PKG_CONFIG_SYSROOT_DIR=$SYSTEMROOT
  export PKG_CONFIG_SYSROOT_DIR=$SYSTEMROOT
 
  export PKG_CONFIG_PATH=$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/lib/arm-linux-gnueabihf/pkgconfig
  export PKG_CONFIG_PATH=$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/lib/arm-linux-gnueabihf/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
  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
 
  cmake -G Ninja \
  cmake -G Ninja \
  <Qt 6のソースコードがあるディレクトリ>      \
  <Qt 6のソースコードがあるディレクトリ>      \
693行目: 706行目:
  <syntaxhighlight lang="sh">
  <syntaxhighlight lang="sh">
  # XCBの場合
  # XCBの場合
 
  # ビルドディレクトリを作成
  # ビルドディレクトリを作成
  mkdir /<Qtのソースコードがあるディレクトリ>/../build && cd /<Qtのソースコードがあるディレクトリ>/../build
  mkdir /<Qtのソースコードがあるディレクトリ>/../build && cd /<Qtのソースコードがあるディレクトリ>/../build
 
  export CROSS_PI_PATH=/<GCC ARMツールチェインのインストールディレクトリ>
  export CROSS_PI_PATH=/<GCC ARMツールチェインのインストールディレクトリ>
 
  # Raspberry Pi OS 32ビットの場合
  # Raspberry Pi OS 32ビットの場合
  export CROSS_COMPILE=$CROSS_PI_PATH/bin/arm-linux-gnueabihf-
  export CROSS_COMPILE=$CROSS_PI_PATH/bin/arm-linux-gnueabihf-
 
  # Raspberry Pi OS 64ビットの場合
  # Raspberry Pi OS 64ビットの場合
  export CROSS_COMPILE=$CROSS_PI_PATH/bin/aarch64-linux-gnu-
  export CROSS_COMPILE=$CROSS_PI_PATH/bin/aarch64-linux-gnu-
 
  # システムルードディレクトリの指定
  # システムルードディレクトリの指定
  export SYSTEMROOT=<Raspberry Pi OSのシステムルートディレクトリ>
  export SYSTEMROOT=<Raspberry Pi OSのシステムルートディレクトリ>
  export PKG_CONFIG_SYSROOT_DIR=$SYSTEMROOT
  export PKG_CONFIG_SYSROOT_DIR=$SYSTEMROOT
 
  export PKG_CONFIG_PATH=$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/lib/arm-linux-gnueabihf/pkgconfig
  export PKG_CONFIG_PATH=$PKG_CONFIG_SYSROOT_DIR/usr/lib/pkgconfig:$PKG_CONFIG_SYSROOT_DIR/usr/lib/arm-linux-gnueabihf/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
  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
 
  cmake -G Ninja \
  cmake -G Ninja \
  <Qt 6のソースコードがあるディレクトリ>      \
  <Qt 6のソースコードがあるディレクトリ>      \
855行目: 868行目:
  または
  または
  make -j 4 NINJAJOBS=-j4
  make -j 4 NINJAJOBS=-j4
 
  make install
  make install
<br>
<br>
892行目: 905行目:
  # .profileファイルに設定する場合
  # .profileファイルに設定する場合
  export LD_LIBRARY_PATH="/home/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib:$LD_LIBRARY_PATH"
  export LD_LIBRARY_PATH="/home/<Raspberry 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/<Raspberry Piのユーザ名>/InstallSoftware/Qt_6_x_x/lib | sudo tee /etc/ld.so.conf.d/00-Qt_6_x_x.conf
966行目: 979行目:
  <syntaxhighlight lang="xml">
  <syntaxhighlight lang="xml">
  # .pro.userファイル
  # .pro.userファイル
 
  <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
  <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
   <!-- ...略 -->
   <!-- ...略 -->
1,008行目: 1,021行目:
  mkdir -p /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware
  mkdir -p /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware
  ln -s /<Qtライブラリのインストールディレクトリ> /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware
  ln -s /<Qtライブラリのインストールディレクトリ> /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware
 
  # シンボリックリンク名の変更
  # シンボリックリンク名の変更
  mv /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware/<Qtライブラリのインストールディレクトリ> \
  mv /<Raspberry Piのシステムルートディレクトリ>/home/mobian/InstallSoftware/<Qtライブラリのインストールディレクトリ> \
1,017行目: 1,030行目:
  # x86 / x64のKitを使用する場合は、Raspberry Piのシステムルートディレクトリを参照しない
  # x86 / x64のKitを使用する場合は、Raspberry Piのシステムルートディレクトリを参照しない
  [ -n $(grep -i RaspberryPi %{ActiveProject:Kit:Name}) ] && set sysroot /<Raspberry Piのシステムルートディレクトリ>
  [ -n $(grep -i RaspberryPi %{ActiveProject:Kit:Name}) ] && set sysroot /<Raspberry Piのシステムルートディレクトリ>
 
  # または
  # または
 
  set sysroot /<Raspberry Piのシステムルートディレクトリ>
  set sysroot /<Raspberry Piのシステムルートディレクトリ>
<br>
<br>
1,031行目: 1,044行目:
  # または
  # または
  git clone https://code.qt.io/cgit/qt/<Qtライブラリ名>.git -b <Qtのバージョン>
  git clone https://code.qt.io/cgit/qt/<Qtライブラリ名>.git -b <Qtのバージョン>
 
  cd <Qtライブラリ名>
  cd <Qtライブラリ名>
 
  ~/Program/Qt_Embedded/Qt5/bin/qmake
  ~/Program/Qt_Embedded/Qt5/bin/qmake
  make -j $(nproc)
  make -j $(nproc)
1,049行目: 1,062行目:
  # エラー出力 1
  # エラー出力 1
  error: 'uint32_t' is not a member of 'std'; did you mean 'wint_t'?
  error: 'uint32_t' is not a member of 'std'; did you mean 'wint_t'?
 
  # エラー出力 2
  # エラー出力 2
  error: 'FeatureType' does not name a type; did you mean 'ToFeatureType'?
  error: 'FeatureType' does not name a type; did you mean 'ToFeatureType'?
1,061行目: 1,074行目:
  // 変更後
  // 変更後
  #include <cstdint>
  #include <cstdint>
 
 
  // qt-everywhere-src-6.x.x/qtquick3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cppファイル
  // qt-everywhere-src-6.x.x/qtquick3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXBinaryTokenizer.cppファイル
  // 53行目
  // 53行目
1,069行目: 1,082行目:
  // 変更後
  // 変更後
  #include <cstdint>
  #include <cstdint>
 
 
  // qt-everywhere-src-6.x.x/qtquick3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXTokenizer.cppファイル
  // qt-everywhere-src-6.x.x/qtquick3d/src/3rdparty/assimp/src/code/AssetLib/FBX/FBXTokenizer.cppファイル
  // 58行目
  // 58行目
1,093行目: 1,106行目:
   Cannot add target-level dependencies to non-existent target
   Cannot add target-level dependencies to non-existent target
   "qhelpgenerator".
   "qhelpgenerator".
 
  The add_dependencies works for top-level logical targets created by the
  The add_dependencies works for top-level logical targets created by the
  add_executable, add_library, or add_custom_target commands.  If you want to
  add_executable, add_library, or add_custom_target commands.  If you want to
1,100行目: 1,113行目:
<br>
<br>
この時、以下に示すファイルを編集する。<br>
この時、以下に示すファイルを編集する。<br>
これにより、ターゲットが存在する場合のみ依存関係を追加するようになる。<br>
  vi /<Qt 6のソースコードがあるディレクトリ>/qttools/src/assistant/qhelpgenerator/CMakeLists.txt
  vi /<Qt 6のソースコードがあるディレクトリ>/qttools/src/assistant/qhelpgenerator/CMakeLists.txt
<br>
<br>
  <syntaxhighlight lang="cmake">
  <syntaxhighlight lang="cmake">
  # /<Qt 6のソースコードがあるディレクトリ>/qttools/src/assistant/qhelpgenerator/CMakeLists.txtファイル 66行目
  # /<Qt 6のソースコードがあるディレクトリ>/qttools/src/assistant/qhelpgenerator/CMakeLists.txtファイル 66行目
 
  # 編集前
  # 編集前
  add_dependencies(qhelpgenerator ${needed_plugins})
  else() # QT_BUILD_SHARED_LIBS
 
    if(QT_SUPERBUILD)
      add_dependencies(qhelpgenerator ${needed_plugins})
    endif()
endif()
  # 編集後
  # 編集後
  #add_dependencies(qhelpgenerator ${needed_plugins})
  else() # QT_BUILD_SHARED_LIBS
    if(QT_SUPERBUILD)
      if(TARGET qhelpgenerator)
          add_dependencies(qhelpgenerator ${needed_plugins})
      endif()
    endif()
endif()
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
==== ビルドエラー : Qt Toolのqhelpgeneratorに関するエラー ====
==== ビルドエラー : Qt Toolのqhelpgeneratorに関するエラー ====
ビルド時において、以下に示すようなエラーが出力される場合がある。<br>
ビルド時において、以下に示すようなエラーが出力される場合がある。<br>
1,118行目: 1,143行目:
この時、以下に示す<code>cmake</code>コマンドのオプションを付加する。<br>
この時、以下に示す<code>cmake</code>コマンドのオプションを付加する。<br>
  cmake -G Ninja \
  cmake -G Ninja \
 
  # ...略
  # ...略
 
  -DBUILD_qtgrpc
  -DBUILD_qtgrpc
 
  # ...略
  # ...略
<br>
<br>
==== ビルドエラー : libQt6DBusに関するエラー ====
以下に示すようなエラーが発生する場合がある。<br>
libQt6DBus.so.6: undefined reference to
`QtPrivate::QPropertyBindingData::notifyObserver_helper(QUntypedPropertyData*, QBindingStorage*, QPropertyObserverPointer, QVarLengthArray<QBindingObserverPtr, 256ll>&) const@Qt_6`
<br>
システムルート内の既存のQt6ライブラリを一時的に隔離する。<br>
これにより、ビルドプロセスが誤ったライブラリを参照することを防ぐ。<br>
<br>
システムルートのライブラリディレクトリ内のQt6関連の共有ライブラリファイルを別のディレクトリに移動させる。<br>
cd /<Raspberry_Piのシステムルート>/usr/lib/aarch64-linux-gnu
mkdir -p Qt6_Backup
mv libQt6*.so* Qt6_Backup/
<br>
これにより、クロスコンパイル時に古いQt 6ライブラリが誤ってリンクされることを防ぐ。<br>
<br>
==== ビルドエラー : Waylandに関するエラー ====
==== ビルドエラー : Waylandに関するエラー ====
Qt 6をビルドする場合、以下に示すようなエラーが出力される場合がある。<br>
Qt 6をビルドする場合、以下に示すようなエラーが出力される場合がある。<br>
  wayland-fullscreen-shell-unstable-v1-client-protocol.h:XXX:Y: error: 'wl_proxy_marshal_flags' was not declared in this scope; did you mean 'wl_proxy_marshal_array'?
  wayland-fullscreen-shell-unstable-v1-client-protocol.h:XXX:Y: error: 'wl_proxy_marshal_flags' was not declared in this scope; did you mean 'wl_proxy_marshal_array'?
 
  wayland-fullscreen-shell-unstable-v1-client-protocol.h:XXX:Y: error wl_proxy_marshal_flags was not declared in this scope; did you mean wl_proxy_marshal_array?
  wayland-fullscreen-shell-unstable-v1-client-protocol.h:XXX:Y: error wl_proxy_marshal_flags was not declared in this scope; did you mean wl_proxy_marshal_array?
<br>
<br>
1,151行目: 1,192行目:
<br>
<br>
この時、Qt Creator 14は使用せずに、Qt Creator 13以前を使用する必要がある。<br>
この時、Qt Creator 14は使用せずに、Qt Creator 13以前を使用する必要がある。<br>
<br>
==== ロケールに関する警告 ====
デバッグ開始時において、以下に示す警告が表示される場合がある。<br>
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.
<br>
この警告は、Raspberry Pi側のロケール設定がUTF-8ではないため、Qtが自動的にロケールを切り替えていることを示している。<br>
<br>
Qt Creatorのデバッグ設定において、環境変数を明示的に設定する。<br>
# [プロジェクト]を開いて、Qt Creatorのメイン画面左ペインにある[プロジェクト] - 該当するキット内にある[実行]を選択する。
# 次に、[環境]セクションの[詳細]ボタンを押下して、以下に示す設定を追加する。
#: <syntaxhighlight lang="text">
LANG=C.UTF-8
LC_ALL=C.UTF-8
</syntaxhighlight>
<br><br>
<br><br>


1,308行目: 1,366行目:
  <syntaxhighlight lang="xml">
  <syntaxhighlight lang="xml">
  <!-- .idea/runConfigurations/<プロジェクト名>.xml -->
  <!-- .idea/runConfigurations/<プロジェクト名>.xml -->
 
  <component name="ProjectRunConfigurationManager">
  <component name="ProjectRunConfigurationManager">
   <configuration ...略>
   <configuration ...略>
1,323行目: 1,381行目:
       <env name="PATH" value="/<Qt6ライブラリをアップロードしたディレクトリ>/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" />
       <env name="PATH" value="/<Qt6ライブラリをアップロードしたディレクトリ>/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" />
     </envs>
     </envs>
 
     <!-- ...略 -->
     <!-- ...略 -->
 
   </configuration>
   </configuration>
  </component>
  </component>
1,343行目: 1,401行目:
  <syntaxhighlight lang="sh">
  <syntaxhighlight lang="sh">
  # ~/.gdbinitファイル  または  ~/.lldbinitファイル
  # ~/.gdbinitファイル  または  ~/.lldbinitファイル
 
  set auto-load safe-path /
  set auto-load safe-path /
 
  # または
  # または
 
  set auto-load local-gdbinit on
  set auto-load local-gdbinit on
  add-auto-load-safe-path /
  add-auto-load-safe-path /
1,358行目: 1,416行目:
  <syntaxhighlight lang="sh">
  <syntaxhighlight lang="sh">
  # /<プロジェクトディレクトリ>/.gdbinitファイル  または  /<プロジェクトディレクトリ>/.lldbinitファイル
  # /<プロジェクトディレクトリ>/.gdbinitファイル  または  /<プロジェクトディレクトリ>/.lldbinitファイル
 
  set sysroot <Raspberry Piのシステムルートディレクトリ>
  set sysroot <Raspberry Piのシステムルートディレクトリ>
  </syntaxhighlight>
  </syntaxhighlight>
1,366行目: 1,424行目:
<br><br>
<br><br>


{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry Pi]][[カテゴリ:Qt]]
[[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry Pi]][[カテゴリ:Qt]]