MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
インストール - Qt6のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
インストール - Qt6
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Qtは、デスクトップ、組み込み、モバイルプラットフォーム向けのソフトウェアやユーザーインターフェイスの作成を効率化するために設計されたツールを備えた完全な開発フレームワークである。<br> <br> Qt 6.2 LTSのサポート期間は、2024年9月30日まで、Qt 6.5 LTSのサポート期間は2026年3月30日までである。<br> <br> Qtライセンスを購入するには、http://www.qt.io/download/ を参照すること。<br> <br> <center> {| class="wikitable" | style="background-color:#fefefe;" |- ! colspan="3" style="background-color:#44CC99;" | 参考書 |- 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=presire22-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=presire22-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=presire22-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=presire22-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=presire22-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=presire22-22&linkId=505bfbc1b686c54000759827f92a0c5d&language=ja_JP&ref_=as_li_ss_tl A Guide to Qt 6<br>Qt 6の初心者向けガイド]</center> |} </center> <br><br> == Qt ライセンス == Qtは、様々なユーザのニーズに対応できるよう、様々なライセンスオプションが用意されている。<br> <br> 商用ライセンスでライセンスされたQtは、第三者とソースコードを共有したくない場合やGNU LGPL version 3の条項に準拠できない場合、プロプライエタリ / 商用ソフトウェアの開発に適している。<br> LGPL version 3の下でライセンスされたQtは、GNU LGPL version 3またはGNU GPL version 3の条項と条件に従うことができれば、Qtアプリケーションの開発に適している。<br> <br> Qtマーケットプレイスライセンス契約に基づいてライセンスされたQtコンポーネントは、<br> 商用またはGNU LGPL version 3またはGNU GPL version 3の条件に基づいてライセンスされたQtソフトウェアコンポーネントと共通のQtアプリケーションの開発に適している。<br> <br> Qtには、元の開発者から特定のオープンソースライセンスの下でライセンスされているサードパーティのコードも含まれている。<br> また、Qtのサンプルは、The Qt Companyの商用ライセンスおよびBSD 3条項ライセンスの下で入手可能である。<br> <br> Qtライセンスの概要については、http://qt.io/licensing/ を参照すること。<br> <br><br> == 通常のインストール == ==== 依存関係のライブラリのインストール ==== Qtの実行に必要な依存関係のライブラリをインストールする。<br> これらのライブラリは不要な可能性がある。(調査中)<br> # RHEL sudo dnf install mesa-libOSMesa-devel # SUSE sudo zypper install Mesa-devel Mesa-KHR-devel または sudo zypper install Mesa-KHR-devel Mesa-devel Mesa-dri-devel Mesa-libEGL-devel Mesa-libGL-devel Mesa-libGLESv1_CM-devel Mesa-libGLESv2-devel \ Mesa-libglapi-devel kbproto-devel libOSMesa-devel libOSMesa8 libX11-devel libXau-devel libdrm-devel libgbm-devel \ libglvnd-devel libxcb-devel libxcb-screensaver0 libxcb-xf86dri0 libxcb-xtest0 libxcb-xvmc0 pthread-stubs-devel xproto-devel <br> ==== Qtのダウンロード ==== 最新版のQtをダウンロードするため、以下のコマンドを実行する。<br> ファイル情報を知りたい場合はこの[http://download.qt.io/official_releases/ Webサイト]を参照する。<br> wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run ダウンロードしたファイルのアクセス権限を変更する。<br> chmod u+x qt-unified-linux-x64-online.run <br> ==== Qtのインストール ==== /usr/localディレクトリ等にインストールする場合は、スーパーユーザでインストールする。<br> ホームディレクトリにインストールする場合は、ローカルユーザでインストールする。<br> <br> 次に、GCCおよびmake、付随するライブラリをインストールする。<br> # RHEL sudo dnf groupinstall "Development tools" # SUSE sudo zypper install --type pattern devel_basis <br> Qtをインストールする。<br> ./qt-unified-linux-x64-online.run <br> Qtのインストール画面に従って、インストールを実行する。<br> <br> Qtをインストールした後、必要ならば、以下のコマンドを実行する。<br> <u>これは、<code>pkg-config</code>コマンドが指すディレクトリを変更する設定である。</u><br> cd /<Qtのインストールディレクトリ>/<Qtのバージョン>/gcc_64/lib cp ./pkgconfig ./pkgconfig_org cd /<Qtのインストールディレクトリ>/<Qtのバージョン>/gcc_64/lib/pkgconfig sed -i -e "s/prefix=\/home\/qt\/work\/install/prefix=\/<Qtのインストールディレクトリ>\/<Qtのバージョン>\/gcc_64/g" ./* <br><br> == ソースコードからインストール == ==== 必須環境 ==== * Qt 6.0以降 * Qt WebEngine module for QtWebEngine based help viewer * GCC 7以降 * オプション : CMake *: CMakeを使用してLLVM / ClangとQt Creatorをビルドする時に必要である。 * オプション : Ninja *: CMakeを使用してビルドする時に必要である。 * オプション : LLVM / Clang 8.0.0以降<br> *: Clang Code Model、Clang Tools、ClangFormat、Clang PCH Manager、Clang Refactoringプラグインに必要である。 *: LLVM C++ APIは互換性を保証するものではないので、それ以降のバージョンがコンパイルできない場合は、そのバージョンをサポートしていない。 * オプション : Qbs 1.7.x *: Qtのソースコードには、Qbs自身も含まれている。 <br> また、Qtをビルドする時のオプション設定を以下に記載する。<br> # オプション : 環境変数PATHにおいて、llvm-configのパスが通っていない場合に必要である export LLVM_INSTALL_DIR=<LLVMのインストールディレクトリ> # オプション : Clangのリファクタリングを無効にする場合、1を設定する export QTC_DISABLE_CLANG_REFACTORING=1 # オプション : QbsProjectManagerプラグインがQbsを使用する場合に必要である export QBS_INSTALL_DIR=/path/to/qbs # オプション : KSyntaxHighlightingを使用する場合、KSYNTAXHIGHLIGHTING_LIB_DIRライブラリを保持するディレクトリを設定する # インクルードディレクトリの自動推定に失敗する場合、KSYNTAXHIGHLIGHTING_INCLUDE_DIRを設定して、 # 両方の設定をqmakeコマンドのオプションで渡すこともできる export KSYNTAXHIGHLIGHTING_INCLUDE_DIR=<インクルードファイルを保持するディレクトリ> export KSYNTAXHIGHLIGHTING_LIB_DIR=<ライブラリを保持するディレクトリ> <br> ==== 依存関係のライブラリのインストール ==== Qtのソースコードをコンパイルするために必要な依存関係のライブラリをインストールする。<br> sudo zypper install git-core gcc-c++ make flex bison gperf libicu-devel python3 perl \ mozilla-nss-devel nodejs10 nodejs10-devel ruby mozilla-nspr-devel \ xorg-x11-libxcb-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel \ xcb-util-wm-devel xorg-x11-devel libxkbcommon-x11-devel libxkbcommon-devel libXi-devel \ dbus-1-devel libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel wayland-devel \ pulseaudio-libs-devel alsa-devel alsa-lib-devel gstreamer1-devel gstreamer1-plugins-base-devel <br> * fontconfig-devel * libfontenc-devel * libXft-devel * libx11-devel * libxcb-devel * libXext-devel * libXfixes-devel * libXrender-devel * Mesa-libGL-devel * libXinerama-devel * libxcb-shm0-dev * libxcb-sync0-dev * libxcb-shape0-dev <br> ==== ソースコードのダウンロード ==== Qtのソースコードをダウンロードする。<br> git clone --recursive https://code.qt.io/qt-creator/qt-creator.git <br> ==== ソースコードのビルド ==== Qtのソースコードをビルドするため、ビルド用のディレクトリを作成する。<br> mkdir build cd build <br> * qmakeを使用する場合 *: オプションのClang Code Modelプラグインをビルドする場合、LLVMのインストールディレクトリへのパスを指定する必要がある。 *: <code>export LLVM_INSTALL_DIR=<LLVMのインストールディレクトリ></code> *: <code>qmake ../qt-creator/qtcreator.pro</code> *: <code>make qmake_all</code> *: <code>make -j $(nproc)</code> *: もし、<code>Project ERROR: Unknown module(s) in QT: script</code>というエラーが出力される場合、以下のコマンドを実行する。 *: <code>make -j $(nproc) module-qtscript</code> *: <br> * cmakeを使用する場合 *: Qtのソースコードをビルドする。 *: <code>cmake -G Ninja -D CMAKE_BUILD_TYPE=Release -D CMAKE_PREFIX_PATH=<Qtのインストールディレクトリ>; <LLVMのインストールディレクトリ> ../qt-creator</code> *: <code>cmake --build .. --parallel $(nproc)</code> <br> コンパイルには時間が掛かることに注意する。(バイナリファイルは、qt-createor-build/binディレクトリに作成される)<br> <br> ==== Qtのインストール ==== Qtをインストールする。<br> # qmakeを使用する場合 make install # cmakeを使用する場合 cmake --install .. <br><br> == デスクトップエントリの追加 == 以下のコマンドを実行して、デスクトップエントリを追加する。 vi ~/.local/share/applications/Qt_Creator.desktop <br> # Qt_Creator.desktopファイル [Desktop Entry] Type=Application Exec=/<Qt 6のインストールディレクトリ>/Tools/QtCreator/bin/qtcreator %F Name=Qt Creator <バージョン名> GenericName=Qt Creator Icon=QtProject-qtcreator StartupWMClass=qtcreator Terminal=false Categories=Development;IDE;Qt; MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs; <br> vi ~/.local/share/applications/Qt_MaintenanceTool.desktop <br> # Qt_MaintenanceTool.desktopファイル [Desktop Entry] Type=Application Path=/home/<ユーザ名>/Qt Name=Qt Maintenance Tool GenericName=Install or uninstall Qt components. Exec=/<Qt 6のインストールディレクトリ>/MaintenanceTool Icon=/home/<ユーザ名>/Qt/QtIcon.png Terminal=false Categories=Development;Qt; <br> vi ~/.local/share/applications/Qt_Designer.desktop <br> # Qt_Designer.desktopファイル [Desktop Entry] Type=Application Name=Qt Designer <バージョン名> GenericName=Qt Designer Comment= Path= Exec=/<Qt 6のインストールディレクトリ>/<バージョン名>/gcc_64/bin/designer %F Icon=/home/<ユーザ名>/.icons/Qt_Designer.png StartupNotify=true StartupWMClass=qtdesigner Terminal=false TerminalOptions= Categories=Development;IDE;Qt; MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs; X-DBUS-ServiceName= X-DBUS-StartupType= X-KDE-SubstituteUID=false X-KDE-Username= <br><br> == 日本語入力 == 専用のインストーラからQtをインストールする場合、Qt Creatorにおいて、Fcitxで日本語が入力できない問題が存在する。<br> <br> これは、plugins/platforminputcontextsディレクトリにlibfcitxplatforminputcontextplugin.soファイルが欠如しているため、IMEの切り替えができないからである。<br> そのため、ユーザがlibfcitxplatforminputcontextplugin.soファイルを含むfcitx-qt5ライブラリを、ソースコードからビルドしてインストールする必要がある。<br> <br> <u>FcitxおよびFcitx5を使用している場合で手順が異なることに注意すること。</u><br> <br> ==== Fcitxを使用している場合 ==== fcitx-qt5ライブラリ(Fcitx)をインストールする。<br> # まず、Qt Creatorを起動して、[ヘルプ]メインメニューから[About Qt Creator...]を選択、バージョン情報を確認する。<br>以下の画像では、Qt Creatorのバージョンは6.0.2、Qt Creatorのビルドに使用されたQt SDKは6.2.2となっている。 #: [[ファイル:Install Qt 1.png|フレームなし|中央]] #: <br> # fcitx-qt5のインストールに必要な依存関係のライブラリをインストールする。 #: <code>sudo zypper install extra-cmake-modules libxkbcommon-devel</code> # fcitx-qt5のソースコードをダウンロードする。 #: <code>git clone https://github.com/fcitx/fcitx-qt5.git</code> # もし、上記の画像のように、<u>Qt Creatorのビルドに使用されたQt SDKが6の場合、</u><br><u>Qtメンテナンスツールを起動して、[コンポーネントの追加または削除]から該当するQtのバージョン以降の[Desktop gcc 64-bit]のみをインストールする。</u> #: <br> # ダウンロードしたfcitx-qt5のディレクトリに移動して、ビルド向けディレクトリを作成する。 #: <code>cd fcitx-qt5 && mkdir build && cd build</code> # fcitx-qt5ライブラリをビルドおよびインストールする。<br><u>インストールディレクトリは、自動的に/<Qtのインストールディレクトリ>/<バージョン>/gcc_64/plugins/platforminputcontextsディレクトリにインストールされる。</u> #* Qt Creatorのビルドに使用されたQt SDKが5の場合 #*: <code>export PATH="/<Qtのインストールディレクトリ>/<Qt5のバージョン>/gcc_64/bin:$PATH"</code> #*: <code>export CPATH="/<Qtのインストールディレクトリ>/<Qt5のバージョン>/gcc_64/include:$CPATH"</code> #*: <code>export LD_LIBRARY_PATH="/<Qtのインストールディレクトリ>/<Qt5のバージョン>/gcc_64/lib:$LD_LIBRARY_PATH"</code> #*: <code>export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(pkg-config --variable pc_path pkg-config)"</code> #*: <code>export PKG_CONFIG_PATH="/<Qtのインストールディレクトリ>/<Qt5のバージョン>/gcc_64/lib/pkgconfig:$PKG_CONFIG_PATH"</code> #*: <br> #* Qt Creatorのビルドに使用されたQt SDKが6の場合 #*: <code>export PATH="/<Qtのインストールディレクトリ>/<Qt6のバージョン>/gcc_64/bin:$PATH"</code> #*: <code>export CPATH="/<Qtのインストールディレクトリ>/<Qt6のバージョン>/gcc_64/include:$CPATH"</code> #*: <code>export LD_LIBRARY_PATH="/<Qtのインストールディレクトリ>/<Qt6のバージョン>/gcc_64/lib:$LD_LIBRARY_PATH"</code> #*: <code>export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(pkg-config --variable pc_path pkg-config)"</code> #*: <code>export PKG_CONFIG_PATH="/<Qtのインストールディレクトリ>/<Qt6のバージョン>/gcc_64/lib/pkgconfig:$PKG_CONFIG_PATH"</code> #*: <br> #* ビルドおよびインストール #*: <code>ENABLE_LIBRARY=$(pkg-config --exists fcitx icu-uc && echo ON || echo OFF) && \</code> #*: <code>cmake .. -DENABLE_LIBRARY=$ENABLE_LIBRARY \</code> #*: <code>-DCMAKE_C_COMPILER=<GCC 8以降:Qt Creatorのビルドに使用されたQt SDKが6の場合> -DCMAKE_CXX_COMPILER=<GCC 8以降:Qt Creatorのビルドに使用されたQt SDKが6の場合> \</code> #*: <code>-DCMAKE_BUILD_TYPE=Release \</code> #*: <code>-DENABLE_QT4=<Qt Creatorのビルドに使用されたQt SDKが4の場合はon、それ以外はoff> \</code> #*: <code>-DENABLE_QT5=<Qt Creatorのビルドに使用されたQt SDKが5の場合はon、それ以外はoff> \</code> #*: <code>-DENABLE_QT6=<Qt Creatorのビルドに使用されたQt SDKが6の場合はon、それ以外はoff> \</code> #*: <code>-DCMAKE_PREFIX_PATH=/<Qt 5のインストールディレクトリ>/<バージョン>/gcc_64 # Qt Creatorのビルドに使用されたQt SDKが5の場合</code> #*: <code>-DCMAKE_PREFIX_PATH=/<Qt 6のインストールディレクトリ>/<バージョン>/gcc_64 # Qt Creatorのビルドに使用されたQt SDKが6の場合</code> #*: <br> #*: <code>make -j $(nproc)</code> #*: <code>make install</code> # インストールしたlibfcitxplatforminputcontextplugin.soファイルを、/<Qtのインストールディレクトリ>/Tools/QtCreator/lib/Qt/plugins/platforminputcontextsディレクトリに配置する。<br>これにより、Qt Creator等において、FcitxでのIMEの切り替えができるようになる。<br><br><u>ただし、Qt Creatorをアップデートする場合は、fcitx-qt5を再インストールする必要があるため注意すること。</u> #: <br> #: <code>cp /<Qtのインストールディレクトリ>/<バージョン>/gcc_64/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so \</code> #: <code> /<Qtのインストールディレクトリ>/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts</code> <br> ==== Fcitx5を使用している場合 ==== fcitx5-qtライブラリ(Fcitx5)をインストールする。<br> # まず、Qt Creatorを起動して、[ヘルプ]メインメニューから[About Qt Creator...]を選択、バージョン情報を確認する。<br>以下の画像では、Qt Creatorのバージョンは6.0.2、Qt Creatorのビルドに使用されたQt SDKは6.2.2となっている。 #: [[ファイル:Install Qt 1.png|フレームなし|中央]] #: <br> # fcitx-qt5のインストールに必要な依存関係のライブラリをインストールする。 #: <code>sudo zypper install cmake extra-cmake-modules libxkbcommon-devel fcitx5-devel</code> # fcitx-qt5のソースコードをダウンロードする。 #: <code>git clone https://github.com/fcitx/fcitx5-qt</code> # もし、上記の画像のように、<u>Qt Creatorのビルドに使用されたQt SDKが6の場合、</u><br><u>Qtメンテナンスツールを起動して、[コンポーネントの追加または削除]から該当するQtのバージョン以降の[Desktop gcc 64-bit]のみをインストールする。</u> #: <br> # ダウンロードしたfcitx5-qtのディレクトリに移動して、ビルド向けディレクトリを作成する。 #: <code>cd fcitx5-qt && mkdir build && cd build</code> # fcitx5-qtライブラリをビルドおよびインストールする。<br><u>インストールディレクトリは、自動的に/<Qtのインストールディレクトリ>/<バージョン>/gcc_64/plugins/platforminputcontextsディレクトリにインストールされる。</u> #* Qt Creatorのビルドに使用されたQt SDKが5の場合 #*: <code>export PATH="/<Qtのインストールディレクトリ>/<Qt5のバージョン>/gcc_64/bin:$PATH"</code> #*: <code>export CPATH="/<Qtのインストールディレクトリ>/<Qt5のバージョン>/gcc_64/include:$CPATH"</code> #*: <code>export LD_LIBRARY_PATH="/<Qtのインストールディレクトリ>/<Qt5のバージョン>/gcc_64/lib:$LD_LIBRARY_PATH"</code> #*: <code>export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(pkg-config --variable pc_path pkg-config)"</code> #*: <code>export PKG_CONFIG_PATH="/<Qtのインストールディレクトリ>/<Qt5のバージョン>/gcc_64/lib/pkgconfig:$PKG_CONFIG_PATH"</code> #*: <br> #* Qt Creatorのビルドに使用されたQt SDKが6の場合 #*: <code>export PATH="/<Qtのインストールディレクトリ>/<Qt6のバージョン>/gcc_64/bin:$PATH"</code> #*: <code>export CPATH="/<Qtのインストールディレクトリ>/<Qt6のバージョン>/gcc_64/include:$CPATH"</code> #*: <code>export LD_LIBRARY_PATH="/<Qtのインストールディレクトリ>/<Qt6のバージョン>/gcc_64/lib:$LD_LIBRARY_PATH"</code> #*: <code>export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(pkg-config --variable pc_path pkg-config)"</code> #*: <code>export PKG_CONFIG_PATH="/<Qtのインストールディレクトリ>/<Qt6のバージョン>/gcc_64/lib/pkgconfig:$PKG_CONFIG_PATH"</code> #*: <br> #* ビルドおよびインストール #*: <code>export ENABLE_LIBRARY=$(pkg-config --exists fcitx icu-uc && echo ON || echo OFF) && \</code> #*: <code>cmake .. -DENABLE_LIBRARY=$ENABLE_LIBRARY \</code> #*: <code>-DCMAKE_C_COMPILER=<GCC 8以降:Qt Creatorのビルドに使用されたQt SDKが6の場合> -DCMAKE_CXX_COMPILER=<GCC 8以降:Qt Creatorのビルドに使用されたQt SDKが6の場合> \</code> #*: <code>-DCMAKE_BUILD_TYPE=Release \</code> #*: <code>-DENABLE_QT4=<Qt Creatorのビルドに使用されたQt SDKが4の場合はon、それ以外はoff> \</code> #*: <code>-DENABLE_QT5=<Qt Creatorのビルドに使用されたQt SDKが5の場合はon、それ以外はoff> \</code> #*: <code>-DENABLE_QT6=<Qt Creatorのビルドに使用されたQt SDKが6の場合はon、それ以外はoff> \</code> #*: <code>-DCMAKE_PREFIX_PATH=/<Qt 5のインストールディレクトリ>/<バージョン>/gcc_64 # Qt Creatorのビルドに使用されたQt SDKが5の場合</code> #*: <code>-DCMAKE_PREFIX_PATH=/<Qt 6のインストールディレクトリ>/<バージョン>/gcc_64 # Qt Creatorのビルドに使用されたQt SDKが6の場合</code> #*: <br> #*: <code>make -j $(nproc)</code> #*: <code>make install</code> # インストールしたlibfcitxplatforminputcontextplugin.soファイルを、/<Qtのインストールディレクトリ>/Tools/QtCreator/lib/Qt/plugins/platforminputcontextsディレクトリに配置する。<br>これにより、Qt Creator等において、FcitxでのIMEの切り替えができるようになる。<br><br><u>ただし、Qt Creatorをアップデートする場合は、fcitx-qt5を再インストールする必要があるため注意すること。</u> #: <br> #: <code>cp /<Qtのインストールディレクトリ>/<バージョン>/gcc_64/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so \</code> #: <code> /<Qtのインストールディレクトリ>/Tools/QtCreator/lib/Qt/plugins/platforminputcontexts</code> <br><br> == Felgoのインストール == ==== Felgoとは ==== Felgoは、Qtフレームワークをベースに大幅に拡張したクロスプラットフォームのソフトウェア開発ソリューションであり、<br> PC、Android、iOS、Web(WebAssembly)、組み込みシステム等の多くのプラットフォームでネイティブに動作する。<br> <br> Felgoは、以下に示すような独自のQt/QMLツール、クラウドサービス、Qtを拡張する200以上のAPIを追加したFelgo SDKを提供している。<br> * 高度なコントロールとネイティブなナビゲーション * テーマとスタイル * レイアウト * ファイル操作(ローカル/リモート) * データ管理とモデル/ビュー * マルチメディア * RESTネットワーク(※) * ネイティブなダイアログと機能 <br> ※RESTとは<br> Webシステムに適用したソフトウェアの設計様式のことであり、パラメータを指定して特定のURLにHTTPでアクセスする時、<br> XMLやJSONなどで記述されたメッセージが送られてくるようなシステム、および、そのような呼び出し規約のことである。<br> <br> 本来のRESTの設計原則は主として以下の4つの項目からなる。<br> * セッション等の状態管理を行わず、やり取りされる情報はそれ自体で完結して解釈することができる。(WebではHTTP自体にはセッション管理の機構はない) * 情報を操作する命令の体系が予め定義・共有されている。(WebではHTTPメソッドに相当) * 全ての情報は汎用的な構文で一意に識別される。(URL/URIに相当) * 情報の一部として、別の状態や別の情報への参照を含めることができる。(ハイパーメディア的な書式で情報を表現する。HTMLやXMLに相当) <br> ==== Felgoのインストール ==== 既存のQtにFelgoを拡張機能として追加することができる。<br> <br> まず、[https://marketplace.qt.io/products/felgo FelgoのQt Marketplace]にアクセスおよびログインした後、[Qt extension]を選択する。<br> 必要な情報を入力して、[Continue to payment]を選択する。<br> <br> 次に、Qtメンテナンスツールを起動して、[コンポーネントの選択]画面の[Marketplace]項目でFelgoを選択およびインストールする。<br> もし、Felgoをインストールできない場合は、Felgoインストーラを使用して、既存のQtとは別にFelgoをインストールする。<br> <br> <u>※注意</u><br> <u>最新版のQtに対応したFelgoがまだリリースされていない場合は、Felgoはビルドキットに追加されない。</u><br> <br> Felgoのアカウントの削除する場合は、[https://felgo.com/developers Felgoの公式Webサイト]にアクセスおよびログインする。<br> アカウント設定ページ右の[Edit] - アカウント設定ページ下の[Account Termination Request] - [Delete Account]ボタンを押下する。<br> <br><br> == Raspberry Piのクロスコンパイル == Raspberry Piでクロスコンパイルを行う場合、[[インストール_-_Qt6_Raspberry_Pi]]のページを参照すること。<br> <br><br> == PinePhoneのクロスコンパイル == PinePhoneでクロスコンパイルを行う場合、[[インストール_-_Qt6_PinePhone]]のページを参照すること。<br> <br><br> == エラー関連 == ==== libdbusに関する問題 ==== 以下に示すようなlibdbusに関するコンパイルエラーが発生する場合がある。<br> # ...略 /<GCCクロスコンパイラのパス>/bin/ld: /<PinePhoneのシステムルート>/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-message.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `dbus_message_unref' which may bind externally can not be used when making a shared object; recompile with -fPIC # ...略 <br> これは、システムルート内にあるlibdbusが動的共有オブジェクトでない場合に発生する可能性がある。<br> これは通常、Mobian / Manjaro ARMの再インストールすることで解決できる。<br> <br> 別の方法としては、libdbus-1-devパッケージを再インストールすることである。<br> しかし、この問題が解決せず、D-Busが不要の場合は<code>-DFEATURE_dbus=OFF</code>オプションを付加することにより、D-Bus機能を無効にすることができる。<br> <br> さらに別の方法として、<code>set(QT_LINKER_FLAGS "-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed")</code>の行を、<br> <code>set(QT_LINKER_FLAGS "-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -ldbus-1")</code>に変更する。<br> この場合、/<PinePhoneのシステムルート>/usr/lib/aarch64-linux-gnu/libdbus-1.soへのリンクが有効であることを確認する。<br> (同階層のディレクトリのlibdbus-1.so.X.XX.XXにリンクされているはずである)<br> <br> <u>※注意</u><br> <u>Bluetoothモジュールを動作させるにはD-Bus機能が必要である。</u><br> <br> ==== libstdc++のエラー ==== デバッグ時において、以下に示すようなエラーが出力される場合はある。<br> /Path/to/<Project Name>/bin/<Binary Name>: /lib/aarch64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.XX' not found (required by /Path/to/Qt6 Library/lib/libQt6Qml.so.6) <br> クロスコンパイラのlibstdc++.so.6ファイルにおいて、ターゲットとなるOSのlibstdc++.so.6ファイルのバージョンと同等または古いものを使用する必要がある。<br> 例えば、Debian 12 (Mobian 12)はGLIBCXX_3.4.30であるため、GCC 12.2ツールチェーン以前のものを使用する。<br> <br> 以下に示すコマンドを実行して、GLIBCXXのバージョンを確認することができる。<br> # クロスコンパイラ strings /<クロスコンパイラのインストールディレクトリ>/<アーキテクチャ名 例: aarch64-linux-gnu>/lib64/libstdc++.so.6 | grep -E '^GLIBCXX' # Manjaro strings /usr/lib/libstdc++.so.6 | grep -E '^GLIBCXX' # Mobian strings /usr/lib/aarch64-linux-gnu/libstdc++.so.6 | grep -E '^GLIBCXX' <br> ==== AT-SPI2の警告 ==== Qt6ライブラリを使用してプロジェクトをクロスコンパイルして実行する時、以下に示すようなAT-SPI2に関するエラーが出力される場合がある。<br> qt.accessibility.atspi Error Not connected to D-Bus server <br> もし、アクセシビリティが不要な場合、Qt6ライブラリのコンパイルにおいて、<code>cmake</code>コマンドにアクセシビリティを無効にするオプションを付加する。<br> -DQT_FEATURE_accessibility=OFF -DQT_FEATURE_accessibility_atspi_bridge=OFF <br> ==== GDBデバッグ実行時におけるキャッシュファイルの警告 ==== デバッグ実行時において、以下に示すような警告が非常に多く出力される場合がある。<br> index cache: could not make cache directory: Permission denied <br> この警告は、デバッグ実行時のターゲットデバイスのディレクトリが存在しない場合、または、該当ディレクトリに書き込み権限が無い場合に出力される。<br> <br> この警告を抑制する場合は、以下に示す設定を行う。 # Qt Creatorの[編集]メニューバー - [Preferences...]を選択する。 # [設定]ダイアログが開くので、画面左ペインにある[デバッガ] - 画面右ペインにある[GDB]タブ - [追加の起動コマンド]に、以下に示す設定を入力する。 #: <code>set index-cache directory /tmp/GDB</code> <br> この設定により、/tmp/GDBディレクトリにデバッグ関連のログファイルが出力されるようになる。<br> <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Qt]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]]
インストール - Qt6
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse