| (同じ利用者による、間の11版が非表示) | |||
| 9行目: | 9行目: | ||
<br> | <br> | ||
<u>このページでは、Raspberry Pi OS Bullseye / Bookwormをインストールしていることを想定している。</u><br> | <u>このページでは、Raspberry Pi OS Bullseye / Bookwormをインストールしていることを想定している。</u><br> | ||
<br> | |||
<u>※注意</u><br> | |||
<u>Raspberry Pi OS Bullseye以降は、画面を描画するためのVCドライバは存在しない。</u><br> | |||
<u>もし、VCドライバが必要な場合は、Raspbian OS Busterを使用すること。(非推奨)</u><br> | |||
<br> | |||
<center> | |||
{| class="wikitable" | style="background-color:#fefefe;" | |||
|- | |||
! colspan="3" style="background-color:#44CC99;" | 参考書 | |||
|- style="text-align: center;" | |||
| <center><html><a href="https://www.amazon.co.jp/Mastering-Qt-stunning-cross-platform-applications-ebook/dp/B07DH9YK9Q?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=29KSQHSJC9DB3&keywords=Qt+5&qid=1667806384&qu=eyJxc2MiOiIwLjAwIiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=qt+5%2Caps%2C196&sr=8-1&linkCode=ll1&tag=presire2-22&linkId=2118a0260e6e51aa7f7440827dee4266&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/71ZdxoixPvL._SL1500_.jpg" ></a></html><br>[https://www.amazon.co.jp/Mastering-Qt-stunning-cross-platform-applications-ebook/dp/B07DH9YK9Q?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=29KSQHSJC9DB3&keywords=Qt+5&qid=1667806384&qu=eyJxc2MiOiIwLjAwIiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=qt+5%2Caps%2C196&sr=8-1&linkCode=ll1&tag=presire2-22&linkId=2118a0260e6e51aa7f7440827dee4266&language=ja_JP&ref_=as_li_ss_tl Mastering Qt 5<br>C++, Qt Widgets, QMLを使用したクロスプラットフォームアプリケーションの作成]</center> | |||
| <center><html><a href="https://www.amazon.co.jp/Hands-Mobile-Embedded-Development-Raspberry-ebook/dp/B07RH6QM95?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=29KSQHSJC9DB3&keywords=Qt+5&qid=1667806384&qu=eyJxc2MiOiIwLjAwIiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=qt+5%2Caps%2C196&sr=8-6&linkCode=ll1&tag=presire2-22&linkId=fabbe4470bf7cb690cadc2cf00e7af96&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/91V16o+L03L._SL1500_.jpg" ></a></html><br>[https://www.amazon.co.jp/Hands-Mobile-Embedded-Development-Raspberry-ebook/dp/B07RH6QM95?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=29KSQHSJC9DB3&keywords=Qt+5&qid=1667806384&qu=eyJxc2MiOiIwLjAwIiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=qt+5%2Caps%2C196&sr=8-6&linkCode=ll1&tag=presire2-22&linkId=fabbe4470bf7cb690cadc2cf00e7af96&language=ja_JP&ref_=as_li_ss_tl Hands-On Mobile and Embedded Development with Qt 5<br>C++/QtでAndroid, iOS, Raspberry Pi用のアプリケーションを作成]</center> | |||
| <center><html><a href="https://www.amazon.co.jp/Qt5-GUI-Programming-Cookbook-cross-platform/dp/1789803829?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=29KSQHSJC9DB3&keywords=Qt+5&qid=1667806384&qu=eyJxc2MiOiIwLjAwIiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=qt+5%2Caps%2C196&sr=8-14&linkCode=ll1&tag=presire2-22&linkId=981d01e080c07e69b683bbd3eee91fd9&language=ja_JP&ref_=as_li_ss_tl" target="_blank"><img style="width: 250px; height: auto;" src="https://m.media-amazon.com/images/I/717s6aji8ZL._SL1360_.jpg" ></a></html><br>[https://www.amazon.co.jp/Qt5-GUI-Programming-Cookbook-cross-platform/dp/1789803829?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=29KSQHSJC9DB3&keywords=Qt+5&qid=1667806384&qu=eyJxc2MiOiIwLjAwIiwicXNhIjoiMC4wMCIsInFzcCI6IjAuMDAifQ%3D%3D&sprefix=qt+5%2Caps%2C196&sr=8-14&linkCode=ll1&tag=presire2-22&linkId=981d01e080c07e69b683bbd3eee91fd9&language=ja_JP&ref_=as_li_ss_tl Qt5 C++ GUI Programming Cookbook<br>Qt5でクロスプラットフォームのアプリケーションの作成]</center> | |||
|} | |||
</center> | |||
<br><br> | <br><br> | ||
| 112行目: | 127行目: | ||
* Raspberry Pi OS Bullseye | * Raspberry Pi OS Bullseye | ||
## EGLを使用する場合 | ## EGLを使用する場合 | ||
sudo apt install ccache libicu-dev icu-devtools libsctp1 libsctp-dev libzstd1 libzstd-dev libhidapi-dev \ | sudo apt install ccache libicu-dev icu-devtools 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 libts0 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 \ | ||
libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol1-dev libwacom-dev \ | libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol1-dev libwacom-dev \ | ||
libfontconfig1-dev libdbus-1 | libssl-dev libssl1.0-dev libnss3-dev \ | ||
libfontconfig1-dev libdbus-1-dev libxkbcommon-dev libjpeg-dev libasound2-dev libudev-dev \ | |||
libgles2-mesa-dev libxcb-xinerama0 libxcb-xinerama0-dev gdbserver | |||
python2 libpython2.7 # QtQuickを使用する場合 | python2 libpython2.7 # QtQuickを使用する場合 | ||
libgtk-3-dev # QtWidget向けにGTKネイティブテーマを使用する場合 | libgtk-3-dev # QtWidget向けにGTKネイティブテーマを使用する場合 | ||
| 124行目: | 140行目: | ||
## XCBを使用する場合 | ## XCBを使用する場合 | ||
sudo apt install ccache libicu-dev icu-devtools libsctp1 libsctp-dev libzstd1 libzstd-dev libhidapi-dev \ | sudo apt install ccache libicu-dev icu-devtools 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 libts0 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 \ | ||
libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol1-dev libwacom-dev \ | libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol1-dev libwacom-dev \ | ||
libfontconfig1-dev libdbus-1 | libfontconfig1-dev libdbus-1-dev libxkbcommon-dev libjpeg-dev libasound2-dev libudev-dev \ | ||
libxcb-xinerama0 libxcb-xinerama0-dev | libssl-dev libssl1.0-dev libnss3-dev \ | ||
libgles2-mesa-dev libxcb-xinerama0 libxcb-xinerama0-dev \ | |||
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 \ | libfreetype6-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 | libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev | ||
python2 libpython2.7 # QtQuickを使用する場合 | python2 libpython2.7 # QtQuickを使用する場合 | ||
| 142行目: | 159行目: | ||
* Raspberry Pi OS Bookworm | * Raspberry Pi OS Bookworm | ||
## EGLを使用する場合 | ## EGLを使用する場合 | ||
sudo apt install ccache libicu-dev icu-devtools libsctp1 libsctp-dev libzstd1 libzstd-dev libhidapi-dev \ | sudo apt install ccache libicu-dev icu-devtools 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 libts0 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 \ | ||
libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol-dev libwacom-dev \ | libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol-dev libwacom-dev \ | ||
libfontconfig1-dev libdbus-1 | libfontconfig1-dev libdbus-1-dev libxkbcommon-dev libjpeg-dev libasound2-dev libudev-dev \ | ||
libxcb-xinerama0 libxcb-xinerama0-dev | libssl-dev libssl1.0-dev libnss3-dev gdbserver \ | ||
libgles2-mesa-dev libxcb-xinerama0 libxcb-xinerama0-dev | |||
libgtk-3-dev # QtWidget向けにGTKネイティブテーマを使用する場合 | libgtk-3-dev # QtWidget向けにGTKネイティブテーマを使用する場合 | ||
libraspberrypi-dev # Raspberry Pi 3B / 3B+の場合、かつ、Raspberry Pi OS 32ビットを使用する場合 | libraspberrypi-dev # Raspberry Pi 3B / 3B+の場合、かつ、Raspberry Pi OS 32ビットを使用する場合 | ||
| 153行目: | 171行目: | ||
## XCBを使用する場合 | ## XCBを使用する場合 | ||
sudo apt install ccache libicu-dev icu-devtools libsctp1 libsctp-dev libzstd1 libzstd-dev libhidapi-dev \ | sudo apt install ccache libicu-dev icu-devtools 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 libts0 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 \ | ||
libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol-dev libwacom-dev \ | libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev libsepol-dev libwacom-dev \ | ||
libfontconfig1-dev libdbus-1 | libfontconfig1-dev libdbus-1-dev libxkbcommon-dev libjpeg-dev libasound2-dev libudev-dev \ | ||
libxcb-xinerama0 libxcb-xinerama0-dev | libssl-dev libssl1.0-dev libnss3-dev gdbserver \ | ||
libgles2-mesa-dev libxcb-xinerama0 libxcb-xinerama0-dev \ | |||
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 \ | libfreetype6-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 | libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libfontconfig1-dev | ||
libgtk-3-dev # QtWidget向けにGTKネイティブテーマを使用する場合 | libgtk-3-dev # QtWidget向けにGTKネイティブテーマを使用する場合 | ||
| 277行目: | 296行目: | ||
*: <code>git clone https://github.com/qt/qtbase -b <Qtのバージョン></code> | *: <code>git clone https://github.com/qt/qtbase -b <Qtのバージョン></code> | ||
*: <br> | *: <br> | ||
* Qt Everywhere Opensourceをビルドする場合 | * Qt Everywhere Opensourceをビルドする場合<br>https://download.qt.io/archive/qt/ | ||
*: <code>wget https://download.qt.io/ | *: <code>wget https://download.qt.io/archive/qt/x.x/x.x.x/single/qt-everywhere-src-x.x.x.tar.xz</code> | ||
*: <code>tar xf qt-everywhere-opensource-src-x.x.x.tar.gz</code> | *: <code>tar xf qt-everywhere-opensource-src-x.x.x.tar.gz</code> | ||
*: <code>cd qt-everywhere-opensource-src-x.x.x</code> | *: <code>cd qt-everywhere-opensource-src-x.x.x</code> | ||
| 668行目: | 687行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
==== GCC 11以降を使用する場合 ==== | |||
GCC 11以降のツールチェーンを使用する場合、Qt 5.15のビルド時において、以下に示すエラーが発生する場合がある。<br> | |||
error: 'numeric_limits' is not a member of 'std' static_cast<quint16>(numbers.size()) : std::numeric_limits<quint16>::max(); | |||
error: expected primary-expression before '>' token static_cast<quint16>(numbers.size()) : std::numeric_limits<quint16>::max(); | |||
error: '::max' has not been declared; did you mean 'std::max'? static_cast<quint16>(numbers.size()) : std::numeric_limits<quint16>::max(); | |||
<br> | |||
これは、std::limitsが削除されて、limits.hファイルに移行されたからである。<br> | |||
もし、GCC 11以降を使用してQt 5.15をビルドする場合は、qt-everywhere-src-5.15.x/qtbase/src/corelib/global/qglobal.hファイルを、以下に示すように編集する。<br> | |||
vi qt-everywhere-src-5.15.x/qtbase/src/corelib/global/qglobal.h | |||
<br> | |||
<syntaxhighlight lang="c++"> | |||
// qt-everywhere-src-5.15.x/qtbase/src/corelib/global/qglobal.hファイル | |||
// 45〜48行目あたり | |||
// 編集前 | |||
#ifdef __cplusplus | |||
# include <type_traits> | |||
# include <cstddef> | |||
# include <utility> | |||
#endif | |||
// 編集後 | |||
#ifdef __cplusplus | |||
# include <type_traits> | |||
# include <cstddef> | |||
# include <utility> | |||
#include <limits> | |||
#endif | |||
</syntaxhighlight> | |||
<br> | |||
==== デバッグエラー : No route to host ==== | ==== デバッグエラー : No route to host ==== | ||
デバッグ実行開始前に、以下に示すようなエラーが表示される場合がある。<br> | デバッグ実行開始前に、以下に示すようなエラーが表示される場合がある。<br> | ||
| 875行目: | 927行目: | ||
<br><br> | <br><br> | ||
== CLion / | == CLion / Qt 5との連携 == | ||
==== Qt | ==== CMakeツールチェーンファイルの作成 ==== | ||
Raspberry Pi向けのQt 5ライブラリのインストールディレクトリ内のlib/cmake/ | 任意のディレクトリにCMakeツールチェーンファイルの作成する。<br> | ||
vi /<任意のディレクトリ>/ToolChain_for_Raspberry_Pi.cmake | |||
<br> | |||
<syntaxhighlight lang="cmake"> | |||
# Raspberry Pi OS 32ビット向け | |||
# 64ビットを使用する場合は、"arm-linux-gnueabihf"の部分を"aarch64-linux-gnu"へ変更すること | |||
# /<任意のディレクトリ>/ToolChain_for_Raspberry_Pi.cmakeファイル | |||
cmake_minimum_required(VERSION 3.18) | |||
include_guard(GLOBAL) | |||
set(CMAKE_SYSTEM_NAME Linux) | |||
set(CMAKE_SYSTEM_PROCESSOR arm) | |||
set(TARGET_SYSROOT <Raspberry Piのシステムルートディレクトリ>) | |||
set(CMAKE_SYSROOT ${TARGET_SYSROOT}) | |||
set(ENV{PKG_CONFIG_PATH} $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_SYSROOT_DIR} ${CMAKE_SYSROOT}) | |||
set(CMAKE_C_COMPILER /<GCCツールチェーンのインストールディレクトリ>/bin/arm-linux-gnueabihf-gcc) | |||
set(CMAKE_CXX_COMPILER /<GCCツールチェーンのインストールディレクトリ>/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_CXX_FLAGS "${CMAKE_C_FLAGS}") | |||
set(CMAKE_EXE_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") | |||
# Raspberry Pi 3Bの場合 | |||
set(QT_COMPILER_FLAGS "march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8") | |||
# Raspberry Pi 4Bの場合 | |||
set(QT_COMPILER_FLAGS "march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8") | |||
set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe") | |||
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_LIBRARY ONLY) | |||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | |||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) | |||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) | |||
set(CMAKE_BUILD_RPATH ${TARGET_SYSROOT}) | |||
set(XCB_PATH_VARIABLE ${TARGET_SYSROOT}) | |||
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(EGL_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(EGL_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libEGL.so) | |||
set(OPENGL_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(OPENGL_opengl_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libOpenGL.so) | |||
set(GLESv2_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(GLIB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libGLESv2.so) | |||
set(GLESv2_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(GLESv2_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libGLESv2.so) | |||
set(gbm_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(gbm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libgbm.so) | |||
set(Libdrm_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(Libdrm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libdrm.so) | |||
set(XCB_XCB_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(XCB_XCB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libxcb.so) | |||
</syntaxhighlight> | |||
<br> | |||
==== Qt 5向けCMakeツールチェーン設定ファイルの作成 ==== | |||
Raspberry Pi向けのQt 5ライブラリのインストールディレクトリ内のlib/cmake/Qt5ディレクトリにCMakeツールチェーン設定ファイルの作成する。<br> | |||
vi /<Qt 5ライブラリのインストールディレクトリ>lib/cmake/Qt5/qt.toolchain.cmake | vi /<Qt 5ライブラリのインストールディレクトリ>lib/cmake/Qt5/qt.toolchain.cmake | ||
<br> | <br> | ||
| 900行目: | 1,026行目: | ||
endif() | endif() | ||
set(__qt_initially_configured_toolchain_file "< | set(__qt_initially_configured_toolchain_file "<上記で作成したRaspberry Pi向けCMakeツールチェーンファイルのパス>") | ||
set(__qt_chainload_toolchain_file "${__qt_initially_configured_toolchain_file}") | set(__qt_chainload_toolchain_file "${__qt_initially_configured_toolchain_file}") | ||
| 1,018行目: | 1,144行目: | ||
**: 任意の名前を入力する。 | **: 任意の名前を入力する。 | ||
** [CMake:] | ** [CMake:] | ||
**: | **: Raspberry Pi向けQtライブラリのビルドに使用したCMakeファイルのパスを入力する。 | ||
** [ビルドツール:] | ** [ビルドツール:] | ||
**: | **: Raspberry Pi向けQtライブラリのビルドに使用したNinjaファイルのパスを入力する。 | ||
** [C コンパイラー:] | ** [C コンパイラー:] | ||
**: | **: Raspberry Pi向けQtライブラリのビルドに使用したGCCファイルのパスを入力する。 | ||
**: 例: /<GCCツールチェーンのインストールディレクトリ>/bin/aarch64-linux-gnu-gcc | **: 例: /<GCCツールチェーンのインストールディレクトリ>/bin/aarch64-linux-gnu-gcc | ||
** [C++ コンパイラー:] | ** [C++ コンパイラー:] | ||
**: | **: Raspberry Pi向けQtライブラリのビルドに使用したG++ファイルのパスを入力する。 | ||
**: 例: /<GCCツールチェーンのインストールディレクトリ>/bin/aarch64-linux-gnu-g++ | **: 例: /<GCCツールチェーンのインストールディレクトリ>/bin/aarch64-linux-gnu-g++ | ||
** [デバッガー:] | ** [デバッガー:] | ||
| 1,050行目: | 1,176行目: | ||
** [環境:]<br>[環境:]のテキストアイコンを選択して、[環境設定]画面を開く。<br>画面右上の[+]ボタンを押下して、各環境変数を設定する。 | ** [環境:]<br>[環境:]のテキストアイコンを選択して、[環境設定]画面を開く。<br>画面右上の[+]ボタンを押下して、各環境変数を設定する。 | ||
*** CMAKE_C_COMPILER | *** CMAKE_C_COMPILER | ||
***: | ***: Raspberry Pi向けQtライブラリのビルドに使用したGCCファイルのパスを入力する。 | ||
***: 例: /<GCCツールチェーンのインストールディレクトリ>/bin/aarch64-linux-gnu-gcc | ***: 例: /<GCCツールチェーンのインストールディレクトリ>/bin/aarch64-linux-gnu-gcc | ||
*** CMAKE_CXX_COMPILER | *** CMAKE_CXX_COMPILER | ||
***: | ***: Raspberry Pi向けQtライブラリのビルドに使用したG++ファイルのパスを入力する。 | ||
***: 例: /<GCCツールチェーンのインストールディレクトリ>/bin/aarch64-linux-gnu-g++ | ***: 例: /<GCCツールチェーンのインストールディレクトリ>/bin/aarch64-linux-gnu-g++ | ||
*** CMAKE_PREFIX_PATH | *** CMAKE_PREFIX_PATH | ||
***: | ***: Raspberry Pi向けQtライブラリのインストールディレクトリのパスを入力する。 | ||
***: 例: < | ***: 例: <Raspberry Pi向けQtライブラリのインストールディレクトリ> | ||
*** CMAKE_TOOLCHAIN_FILE | *** CMAKE_TOOLCHAIN_FILE | ||
***: | ***: Raspberry Pi向けQtライブラリのインストールディレクトリにあるビルド向けツールチェーンファイルのパスを入力する。 | ||
***: 例: /< | ***: 例: /<Raspberry Pi向けQtライブラリのインストールディレクトリ>/lib/cmake/Qt5/qt.toolchain.cmake | ||
*** QT_QMAKE_EXECUTABLE | *** QT_QMAKE_EXECUTABLE | ||
***: | ***: Raspberry Pi向けQtライブラリのインストールディレクトリにあるqmakeファイルのパスを入力する。 | ||
***: 例: /< | ***: 例: /<Raspberry Pi向けQtライブラリのインストールディレクトリ>/bin/qmake-host | ||
<br> | <br> | ||
[設定]画面の右ペイン下部にある[適用]ボタンを押下する。<br> | [設定]画面の右ペイン下部にある[適用]ボタンを押下する。<br> | ||
| 1,074行目: | 1,200行目: | ||
* SSH構成の設定項目 | * SSH構成の設定項目 | ||
** [ホスト:] | ** [ホスト:] | ||
**: | **: Raspberry PiのIPアドレスまたはホスト名を入力する。 | ||
** [ユーザー名:] | ** [ユーザー名:] | ||
**: | **: Raspberry Piのユーザ名を入力する。 | ||
** [認証タイプ:]プルダウン | ** [認証タイプ:]プルダウン | ||
**: [パスワード]または[キーペア]を選択する。 | **: [パスワード]または[キーペア]を選択する。 | ||
| 1,086行目: | 1,212行目: | ||
**: 任意 | **: 任意 | ||
<br> | <br> | ||
[接続テスト] | [接続テスト]ボタンを押下して、Raspberry PiにSSH接続する。<br> | ||
<br> | <br> | ||
[設定]画面の右ペイン右下にある[適用]ボタンを押下する。<br> | [設定]画面の右ペイン右下にある[適用]ボタンを押下する。<br> | ||
| 1,110行目: | 1,236行目: | ||
*: 任意 | *: 任意 | ||
* [アップロードパス:] | * [アップロードパス:] | ||
*: | *: 実行可能バイナリが配置されるRaspberry Pi上のディレクトリを入力する。 | ||
*: 例: /home/< | *: 例: /home/<Raspberry Piのユーザ名>/CLion/Sample1/debug | ||
* ['target remote' ...] | * ['target remote' ...] | ||
*: 自動的に入力される。 | *: 自動的に入力される。 | ||
| 1,117行目: | 1,243行目: | ||
* [GDB サーバー引数:] | * [GDB サーバー引数:] | ||
*: Qt WidgetsまたはQMLを使用するプロジェクトの場合、デバッグまたは実行時において、実行可能バイナリに<code>-platform wayland</code>オプションを付加する必要がある。 | *: Qt WidgetsまたはQMLを使用するプロジェクトの場合、デバッグまたは実行時において、実行可能バイナリに<code>-platform wayland</code>オプションを付加する必要がある。 | ||
*: 例: <code>:<GDBサーバのポート番号 例: 1234> /< | *: 例: <code>:<GDBサーバのポート番号 例: 1234> /<実行可能バイナリが配置されるRaspberry Pi上のディレクトリ>/debug/<実行バイナリのファイル名> -platform wayland</code> | ||
<br> | <br> | ||
次に、[拡張 GDB サーバーオプション]項目を設定する。<br> | 次に、[拡張 GDB サーバーオプション]項目を設定する。<br> | ||
この設定は、Raspberry PiにアップロードしたQtライブラリにおいて、デバッグまたは実行に関する設定を行う。<br> | |||
* [作業ディレクトリ:] | * [作業ディレクトリ:] | ||
*: 何も入力しない。 | *: 何も入力しない。 | ||
| 1,127行目: | 1,253行目: | ||
**: :0 | **: :0 | ||
** QT_QPA_PLATFORMTHEME | ** QT_QPA_PLATFORMTHEME | ||
**: Qt 5の場合 : qt5ct | **: Qt 5の場合 : qt5ct | ||
** PATH | ** PATH | ||
**: | **: Raspberry Pi上のQt5ライブラリをアップロードしたbinディレクトリのパスを入力する。 | ||
**: 例: /< | **: 例: /<Qt5ライブラリをアップロードしたディレクトリ>/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games | ||
** LD_LIBRARY_PATH | ** LD_LIBRARY_PATH | ||
**: | **: Raspberry Pi上のQt5ライブラリをアップロードしたlibディレクトリのパスを入力する。 | ||
**: 例: /< | **: 例: /<Qt5ライブラリをアップロードしたディレクトリ>/lib:/<Qt5ライブラリをアップロードしたディレクトリ>/plugins/qmltooling | ||
** QT_PLUGIN_PATH | ** QT_PLUGIN_PATH | ||
**: /< | **: /<Qt5ライブラリをアップロードしたディレクトリ>/plugins | ||
** QT_QPA_PLATFORM_PLUGIN_PATH | ** QT_QPA_PLATFORM_PLUGIN_PATH | ||
**: /< | **: /<Qt5ライブラリをアップロードしたディレクトリ>/plugins/platforms | ||
** QML_IMPORT_PATH | ** QML_IMPORT_PATH | ||
**: /< | **: /<Qt5ライブラリをアップロードしたディレクトリ>/qml | ||
** QML2_IMPORT_PATH | ** QML2_IMPORT_PATH | ||
**: /< | **: /<Qt5ライブラリをアップロードしたディレクトリ>/qml | ||
** QT_DEBUG_PLUGINS | ** QT_DEBUG_PLUGINS | ||
**: 0または1を入力する。 | **: 0または1を入力する。 | ||
| 1,163行目: | 1,288行目: | ||
<env name="DISPLAY" value=":0" /> | <env name="DISPLAY" value=":0" /> | ||
<env name="LANG" value="ja_JP.UTF-8" /> | <env name="LANG" value="ja_JP.UTF-8" /> | ||
<env name="QML2_IMPORT_PATH" value="/< | <env name="QML2_IMPORT_PATH" value="/<Qt5ライブラリをアップロードしたディレクトリ>/qml" /> | ||
<env name="QML_IMPORT_PATH" value="/< | <env name="QML_IMPORT_PATH" value="/<Qt5ライブラリをアップロードしたディレクトリ>/qml" /> | ||
<env name="QT_DEBUG_PLUGINS" value="0" /> | <env name="QT_DEBUG_PLUGINS" value="0" /> | ||
<env name="QT_PLUGIN_PATH" value="/< | <env name="QT_PLUGIN_PATH" value="/<Qt5ライブラリをアップロードしたディレクトリ>/plugins" /> | ||
<env name="QT_QPA_PLATFORM_PLUGIN_PATH" value="/< | <env name="QT_QPA_PLATFORM_PLUGIN_PATH" value="/<Qt5ライブラリをアップロードしたディレクトリ>/plugins/platforms" /> | ||
<env name="QT_QPA_PLATFORMTHEME" value=" | <env name="QT_QPA_PLATFORMTHEME" value="Qt5ct" /> | ||
<env name="LD_LIBRARY_PATH" value="/< | <env name="LD_LIBRARY_PATH" value="/<Qt5ライブラリをアップロードしたディレクトリ>/lib:/<Qt5ライブラリをアップロードしたディレクトリ>/plugins/qmltooling" /> | ||
<env name="PATH" value="/< | <env name="PATH" value="/<Qt5ライブラリをアップロードしたディレクトリ>/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" /> | ||
</envs> | </envs> | ||
| 1,208行目: | 1,333行目: | ||
# /<プロジェクトディレクトリ>/.gdbinitファイル または /<プロジェクトディレクトリ>/.lldbinitファイル | # /<プロジェクトディレクトリ>/.gdbinitファイル または /<プロジェクトディレクトリ>/.lldbinitファイル | ||
set sysroot < | set sysroot <Raspberry Piのシステムルートディレクトリ> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
| 1,216行目: | 1,341行目: | ||
{{#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]] | ||