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

485行目: 485行目:
   
   
  #include "../../linux-g++/qplatformdefs.h"
  #include "../../linux-g++/qplatformdefs.h"
</syntaxhighlight>
<br><br>
== CMakeツールチェーンファイルの作成 ==
==== Raspberry Pi OS Bullseye 32ビットの場合 ====
<syntaxhighlight lang="cmake">
# Raspberry Pi OS Bullseye 32ビットの場合
cmake_minimum_required(VERSION 3.18)
include_guard(GLOBAL)
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(TARGET_SYSROOT "<Raspberry Pi Bullseye 32ビットのシステムルートディレクトリのパス>")
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_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    "/<ARM向けクロスコンパイラのインストールパス>/bin/arm-linux-gnueabihf-gcc")
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_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 / 3B+ の場合
set(SOC_FLAG "-march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8")
# Raspberry Pi 4B の場合
set(SOC_FLAG "-march=armv8-a -mtune=cortex-a72)
# Raspberry Pi 5 の場合
set(SOC_FLAG "-march=armv8-a -mtune=cortex-a76)
set(QT_COMPILER_FLAGS ${SOC_FLAG})
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>
  </syntaxhighlight>
<br><br>
<br><br>